|WikiProject Software / Computing||(Rated Start-class, High-importance)|
- 1 An example
- 2 Oldest Discussion
- 3 why no mention of web server?
- 4 Who knows what this sentence is supposed to mean?
- 5 Buzzwords do not add meaning
- 6 Suggest removing IBM Transaction Server
- 7 Questioning reference to Delphi
- 8 What are these magic
- 9 Removed some not so well known products
- 10 Replaced acronyms with corresponding phrase
- 11 Presentation Layer
- 12 Java bias
- 13 The many application server platforms
- 14 Application servers not programmed
- 15 Remove section, "Java-Based, but Non-Java-EE Servers"
- 16 No Programming. Riiight
- 17 Are articles stored in the filesystem?
- 18 Application server edit overrides
- 19 Moved: (Confusing) Intro
- 20 Moved: (Unverified) Common features
- 21 Moved: (Unverified) History
- 22 Weasel words?
- 23 Advantages?
- 24 Where "Application Server" comes from
- 25 Remove Completely??
- 26 Material removed
- 27 So, what is an application server?
- 28 The mal-formatted "Material Removed" section above has broken the talk page.
From what I can gather from this article an application server provides "business logic". Is a web server an application server? A database server?
Can someone in the know give an example such as "e.g. An organization's inventory system database might be accessed via an API exposed on an application server, so that the inventory system front-end can deal with an simple and secure interface instead of having to directly manipulate the database."
I'm not sure if that's actually a valid example since I'm not sure what an application server is, but I have a hunch that's what it is. An example would go a long way.
- FWIW I had similar questions ("please *someone* tell me what an app server is!") and found a rather good entry here (as of time of posting) <http://en.wikipedia.org/wiki/Enterprise_JavaBean>. The associated talk page has some useful opinions too. 184.108.40.206 (talk) 19:54, 10 May 2009 (UTC)
This page is not very good. The Server page discusses the other use of the word Server. This page just claims software uses of the term "application server" are just for buzzwords. There needs to be a disambiguation page and links to both. Probably "Server" needs the same. -User:Reboot
p Reboot: agreed. I propose scrapping the entire first section of this document and re-writing it using Javaworld's definition of an application server, http://www.javaworld.com/javaqa/2002-08/01-qa-0823-appvswebserver.html
I think the current definition applies only to Tim Riley's product appaserver which is not an application server in the Service Oriented Architecture sense of the term. Cosiwiki (talk) 18:36, 24 July 2008 (UTC)
No mention of JBoss?
- Jboss is mentioned in relation to Red Hat. Red Hat did NOT make JBoss. Red Hat is not even linux in my mind; they just stole it a decade ago, specifically to pervert it. I use my own linux, SoyOS, and most say that either Slackware (purist) or Ubuntu/Debian(commercial) are the way to go. One time Redhat a engineer threatened to sue me over the GPL because I did not distribute THEIR source code of a Win32 DLL. The only reason he did not sue is that my company was negotiating for a product from them. Red Hat is corrupt-- GPL and Stallman association not withstanding.
The history of application servers goes back to CICS, TUXEDO, and eventually Encina and several flavors of CORBA encompassing standards such as ATMI, DCE, CORBA, and J2EE. JBoss should not be considered a "commercial" product, but should be listed as an open source application server. The products supporting J2EE should be listed in alphabetical order with appropriate links. --P nickerson 12:36, 28 July 2006 (UTC)
why no mention of web server?
And while I'm ranting, let me say that JSP are far from "equivalent" to CGI scripts in terms of performance. This is the kind of hand-waving I'm talking about.Harborsparrow 00:23, 28 October 2006 (UTC)
Resin application server(java/php) from Caucho Technology is also an important one which is not being mentioned in the article.
The intro of the article should be clear about the distinction between a Web Server and an Application Server. While I've been writing software professionally for nearly 3 decades, I'm new to server development, and none of what I read anywhere was clear about this distinction. I feel the article needs to say something like this: An application server is a web server that is capable of delivering dynamic content. (It should also define the terms static content and dynamic content.) The article should be clear that the application is the web site. —MiguelMunoz (talk) 20:05, 7 August 2009 (UTC)
- Miguel, you (correctly) wrote
"The intro of the article should be clear about the distinction between a Web Server and an Application Server.
- I think that there is a grey area between them; therefore, it is good to start with the extremes, where there is no debate, and then proceed from that foundation to the nuances. Do you agree?
- If so, what would a pure web server? I suggest that it would be a pure http server, one that merely responded to http messages. It would be fair to extend that definition pragmatically and say that the principle function is to deliver a file adhering to basic static html protocol file for display in the http client--the browser.
- What would be a pure application server? It would be a server that handles dynamic html, true?
- What is in the grey area? I think that the web has evolved to the point where everything is in the grey area, but certainly it is fair to say that Apache for example is still basically a web server, and Tomcat (to pick another arbitrary example) can reasonably called an "application server" or "web application server".
- Mark.camp (talk) 23:55, 18 February 2010 (UTC)
Who knows what this sentence is supposed to mean?
"It has also come to encompass servers of web-based applications, although the paradigm is more similar to mainframe based applications than traditional client-server."
To what does "the paradigm" refer? Are we talking about application servers or web servers or application servers serving web applications?
(not sure who wrote the above, but the following is from Mcswell)
"An application server, is an n-tier software architecture, serves an API to expose business logic and business processes for use by third-party applications."
I can't parse this sentence. Maybe it's saying that an app server *is* an n-tier architecture, in which case there should probably be an "and" (or possibly a "that is") before "serves an API". Otoh, maybe it's saying that *in* an n-tier architecture, an app server serves an API (in which case "is" --> "in"). Also, the term "serves an API" seems odd (although this could just be me). I think of "serving data", and I would have guessed that this should instead read "exposes an API". Googling this phrase "serves an API", I get about 40 hits--but virtually all of them are this sentence, more or less (frequently with "is" --> "in"). Mcswell (talk) 01:45, 29 October 2009 (UTC)
Buzzwords do not add meaning
I think we should remove the section that reads:
This term is widely used as a buzzword in the following fields:
- Distributed computing — denoting a computer running some part of a distributed computation task
- Software components — denoting a "component farm", which is a computer loaded with software components, ready to answer calls for usage
- Web services — denoting a machine running applications which will answer interface calls over HTTP in an XML format
However, comparing and contrasting application servers with web servers would add context. 220.127.116.11 07:45, 16 April 2007 (UTC)
- Removing Web services at least is a bad idea since it is synonymous with application server. Though it should be worked into a paragraph or it's own section. WikipedianYknOK 19:10, 28 July 2007 (UTC)
Suggest removing IBM Transaction Server
I suggest we remove: "Also, in IBM mainframe environment has been application servers or on other name transaction servers such as CICS and IMS long before Java was even invented." This information belongs in one of the transaction server articles. Moreover, it is not a properly formed sentence, and "long before" is vague and biased, it is just not the appropriate word. Timhowardriley 08:11, 10 July 2007 (UTC)
Questioning reference to Delphi
Regarding "For Delphi there are both free and commercial options including TurboMiddleware (free) and kbmMW (commercial).":
- Delphi is not an application server, but an Integrated Development Environment. Beginning
the sentence with "For Delphi" implies that we're talking about another object of the subject of the article.
- TurboMiddleware seems to be a free version of kbmMW.
- kbmMW does seem to be an application server.
The TurboMiddleware website has a reference to both Delphi and Microsoft's Active Server Pages. "This is the home of kbmMW CodeGear edition from Components4Developers - a free to use n-tier development framework for Delphi and C++Builder." "This site was built using Visual Studio 2005 as an ASP.net application running on the dotnet runtime version 2."
Therefore, I believe we should:
- remove the entire sentence.
- add TurboMiddleware to the "open source application server" list.
- let the user find kbmMW from the TurboMiddleware site's link.
What are these magic
In the intro Paragraph - "The main benefit of application servers is the ease of application development, since applications need not be programmed; instead, they are assembled from building blocks provided by the application server."
Applications are programed by someone; Web services (Which this is most likely referring to) may reduce how much work 3rd party developers have to do when they release a product utilizing them, but they are no doubt programed by the content provider, possibly even modified by the 3rd party. If it refers to running a java server, almost inherently means you will be doing some programing in java, though it would only be Servlets or JSPs and not the actual server itself. If this is either case it needs reworded. WikipedianYknOK 19:10, 28 July 2007 (UTC)
- I agree. It confuses the use of software components with application servers. --Zslevi (talk) 16:24, 11 March 2008 (UTC)
Removed some not so well known products
It would be better to mention the most important products and to provide a Java EE introduction than stating some products that are not among the market leaders.
NOTE: For me there is nothing wrong with JFox and Resin, but if these are mentioned in such an article 20 others have to be mentioned as well.
Replaced acronyms with corresponding phrase
I replaced the newly added acronyms with their corresponding word phrases. The acronyms were related to the Java environment. Because I'm not familiar with this environment, please audit my work. Timhowardriley 17:40, 28 September 2007 (UTC)
In "Advantages of application servers" block the author describes performance advantage with:
By limiting the network traffic to presentation layer traffic, it is perceived that the client-server model improves the performance of large applications in heavy usage environments.
But, as OSI model presentation layer is always employed in any communication, save for session starts and ends and similar, and generally doesn't fit logically in the semantincs of the matter, what I think the original author meant to say was:
By limiting the network traffic to presentation tier 1 traffic, it is perceived that the client-server model improves the performance of large applications in heavy usage environments.
1emphasis only on the talk page
This page has an incredible pro-Java bias, to the extent you would think that Java is really the only option that actually is used in practice. I'm going to have a minimal whack at adding some extra text, but I hope somebody takes up the challenge to expand this.
The many application server platforms
I have reservations regarding the sentence, "The term application server applies to all platforms, and there are many variations on the theme, thus making it slightly ambiguous."
- "there are" places the verb (there) before the noun (are). Generally speaking, sentences containing "there are" can be reduced without loss of meaning.
- "The term application server applies to all platforms" is overgenerous. I can think of older platforms still in use that can't run application servers.
- "... many variations ... slightly ambiguous.": many of anything will probably result is more than slightly of something else.
I understand the need for an introduction to the many different categories of application servers. So, maybe the following sentence doesn't change the meaning of the status quo too much:
- Application servers run on many platforms, and the term colloquially applies to different software applications.
Application servers not programmed
Regarding "Application servers don't help programming your application itself, but rather provide an infrastructure for interoperabilty and deployment of your application.": Dictionary.com say interoperability means, "capable of being used or operated reciprocally." And deployment means, "to come into a position ready for use." Which application server provides an infrastructure for these characteristics? The article uses wiki as an example of an application server that, without programming, delivers an encyclopedia application to client computers. Timhowardriley (talk) 17:53, 14 December 2007 (UTC)
Remove section, "Java-Based, but Non-Java-EE Servers"
I recommend we remove the paragraph that's titled, "Java-Based, but Non-Java-EE Servers". The only reference to a non-Java EE (but is a Java) application server is the Plain Old Java Object. However, that article says that a POJO is "... used to emphasize that the object in question is an ordinary Java Object, not a special object, and in particular not an Enterprise JavaBean ..." Application servers do not "emphasize" anything. Timhowardriley (talk) 18:30, 27 January 2008 (UTC)
No Programming. Riiight
- If you're just programming an application, then it's your computer program that is served to the client. However, if you're configuring an engine that serves the application to the client, then you're working with an application server. Configuring an engine means that you are assigning database elements of the application so that those user interface instructions get sent to the client. "No programming" is an overstatement. You do write hook functions to perform data integrity. Timhowardriley (talk) 16:24, 15 February 2008 (UTC)
Are articles stored in the filesystem?
Moreover, Wikipedia is an assembled Wiki that delivers an encyclopedia stored in a filesystem, with changes to the encyclopedia stored in a database. How is Wikipedia related to a file system? I think the whole content resides in a MySQL DB. Or is this not what this sentence says? -- 18.104.22.168 —Preceding unsigned comment added by 22.214.171.124 (talk) 18:12, 26 February 2008 (UTC)
- Articles are stored in the file system. Using your browser's menu, view the source of the application server article. First, search for ".php". Notice that ".php" always follows the "href" HTML tag. This means that if you press one of these links (an underlined word or phrase), you will execute a computer program that will access the MySQL DB. Now, search for "href". Notice that the source contains "href" HTML tags that do not contain ".php". These are not executables accessing the MySQL DB; instead, they are regular web pages stored in the file system. Timhowardriley (talk) 17:26, 27 February 2008 (UTC)
Application server edit overrides
I cited a reference that explained what an application server actually is. You reverted it and said my comment was a 'Point of View'. We should talk about this because I think the current explanation is absolutely misleading and that the explanantion below is more accurate:
"An application server is a software engine that provides services to client computers or other applications, typically through the Internet and using HTTP, SOAP and XML. Application servers differ from web servers in that a Web server exclusively handles HTTP requests, whereas an application server serves business logic to application programs through any number of protocols. " User:Cosiwiki (talk) 18:12, 24 July 2008 (UTC)
- According to SOAP, the simple protocol uses the hypertext protocol. So no new information is added. Regarding XML: XML is a markup language, not a transmission protocol. Yes, application servers transmit XML in addition to HTML, but the sentence is talking about transmission protocols, not markup languages. Regarding the difference between web servers and application servers: I see the relationship as an application server may or may not use a web server to deliver the application. But how to explain this coherently in a simple sentence is beyond me. Timhowardriley (talk) 22:44, 24 July 2008 (UTC)
Tim: Can you cite any sources that support any of the content in the first section of this article? If not, I propose deletion of all of this content as it is misleading and inaccurate. I've cited a reference which explains what an application server is, I would ask you politely to take a look at the article http://www.javaworld.com/javaqa/2002-08/01-qa-0823-appvswebserver.html.
1. An application server provides Service (systems architecture) - it's not a special type of end-user application such as appaserver.
2. Application servers server business logic, business workflow and business objects that are consumed by other applications. This is consistent with the separation of data access, business logic and presentation concept. The application server hosts the business logic in a distributed system.
- Sun Microsystems successfully applied the term “application server” to their product that is really an application programming interface. As a result, this article has to co-mingle the concrete concept of “serving applications” with the abstract concept of “serving business logic”. In your referenced article in Javaworld, Tony Snites writes, “an application server serves business logic through protocols”. Serving logic has no meaning. (Logic is an abstract concept, like an idea. You can't "serve" an idea.) Then he says an application server “exposes business logic”. But exposing computer code is what an application programming interface does. An API is an interface to expose computer code for the developer to use without having to rewrite it (or more specifically without having to import it). Snites then says, “In most cases, the server exposes this business logic through a component API [Application Programming Interface].” Snites is calling an application server an API. But, calling an application server an application programming interface is a misnomer. And Sun Microsystems is getting away with it.
- There is another school of thought that says an application server “serves applications”. Yes, I happen to have written one and can, therefore, provide insight into its mechanics. Whereas, this Wikipedia article represents Sun’s Java EE fully, I can see that the lead would be better if it represented both schools of thought.
- Regarding “applications need not be programmed”: This obviously refers to non-Java application servers, like Wiki. Perhaps the two different definitions should be made clear in the first sentence. Then the following two paragraphs could be the lead of each paradigm. Timhowardriley (talk) 17:04, 25 July 2008 (UTC)
- There is nothing abstract about serving business logic. Logic is abstract, but Business Logic is not. Please refer to Business Logic and http://en.wikipedia.org/wiki/Image:Overview_of_a_three-tier_application.png to further your understanding of what business logic actually is. And this article http://msdn.microsoft.com/en-us/library/ms954595.aspx which contains a diagram explaining what constitutes a Business Layer in this image http://i.msdn.microsoft.com/ms954595.f00aa01(en-us,MSDN.10).gif
- In an enterprise an application server is essentially a "Service" Server. In much the same way that a Database Server serves a Database, or a Webserver serves a website: an application server serves methods & functionality. The principle is the same. If developers separate out business logic, business workflows and business entities they can be hosted as a service (on an application server), and if necessary, hosted on separate physical servers to websites or databases. A server hosting an API that exposes business logic is an application server.
- Can you please cite references that support the definition of an application server for the school of thought to which you refer? If you can't: this should be removed from the article as I have yet to see any foundations for this interpretation.
This is a discussion thread mentioning application servers and their relation to web servers and database servers. I realise it's not a valid source but it provides insight into how application servers are percieved.
Just as a final nail in the coffin: this from Gartner.com
"An application server is system software that acts as a container for applications' business logic. It is a form of middleware — or, more specifically, platform middleware. The key function of an application server is to implement a programming model — used, in turn, by application programmers. The models — such as Customer Information Control System (CICS) Command Level; Java Platform, Enterprise Edition (Java EE); .NET Microsoft Application Platform (MSAP); and Common Object Request Broker Architecture (CORBA) — are used by programmers as extensions to the basics of supported programming languages."
Moved: (Confusing) Intro
An application server is a software engine that delivers applications to client computers or devices, typically through the Internet and using the HyperText Transfer Protocol. Application servers are distinguished from web servers by the extensive use of server-side dynamic content and frequent integration with database engines .
An application server handles most, if not all, of the business logic and data access of the application (see Centralization). The main benefit of an application server is the ease of application development, since applications need not be programmed ; instead, they are assembled from building blocks provided by the application server. For example, a Wiki is an application server that allows users to build dynamic content assembled from articles. The articles are stored in a filesystem, and changes to the articles stored in a database. An example of an assembled wiki is Wikipedia, an application server that delivers an encyclopedia.
Application servers run on many platforms, and the term colloquially applies to two different software applications. The term is used to refer to servers of web-based applications, such as integrated platforms for e-commerce, content management systems, and web-site builders. Alternatively, the term is used as a synonym for web application framework.
Moved: (Unverified) Common features
Application servers typically bundle middleware to enable applications to intercommunicate with dependent applications, like web servers, database management systems, and chart programs. Some application servers also provide an API, making them operating system independent. Portals are a common application server mechanism by which a single point of entry is provided to multiple applications.
Programming is minimized because the application server has the user interface instructions already built in. The instructions are contained in output objects, and database datatypes are preassigned to output objects. Configuring the application means the developer is assigning elements of the application to database datatypes. When the server is running, data is requested by the client, causing the assigned user interface instructions to be sent to the client along with the data. Client-side data integrity is refined by programming hook functions, which are simultaneously sent to the client.
Moved: (Unverified) History
Applications historically were stored on mainframe computers and delivered to computer terminals. Only large institutions — such as governments, banks, and large corporations — could afford the facilities, equipment, and staff to support mainframes. The 1960's saw the introduction of the mini computer. Mini computers are much smaller, less powerful, and much less expensive than mainframe computers. However, computer terminals were still used to interact with the application.
Following the introduction of the personal computer in the 1980s, and more specifically the graphical user interface in the 1990s, the client-server computing paradigm was developed. In the client-server architecture, applications are stored on the server computer and the personal computer serves as the user interface. In this architecture the user interface is a computer program running separately from the database server program. While this freed the database server from managing both the data and the user interface, it required the system administrator to update the client software on each personal computer individually when changes were made.
Following the introduction of the World Wide Web in the mid-1990s, the application server paradigm was developed. Application servers are a throwback to mainframe computing in that both the application and user interface are stored on the server computer. The difference, though, is the client is now a thin client or a personal computer running a browser. The server sends both the instructions for the user interface along with the data to the client. The client then uses its own processing power to format the data using the instructions received. Application servers store the user interface instructions in interface modules which are then assigned to database datatypes. When a database element of a particular database datatype is requested, the application server sends the module's instructions along with the requested data to the client.
Tim: If you can verify ANY of this content lets re-incorporate it. For now 99.9999% of people that view this page are interested in an n-tier based description of an application servers.
Particularly in the Features section, I see a lot of "is perceived to" and "is considered" clauses, which seem to me to be weaseling out of citing sources (or weaseling into original research). Anyone agree, and if so, any objections if I find some sources to cite? Deltwalrus (talk) 14:02, 20 December 2008 (UTC)
The article has a section titled Advantages of application servers which begs the question Advantages over what? Is this really about the advantages or is it just about features of application servers? —MiguelMunoz (talk) 20:12, 7 August 2009 (UTC)
I do not understand the first sentence, which begins
"An application server is a software framework dedicated to"
I followed the link on "software framework" but it only increased my confusion. Could someone re-write this sentence to make it understandable? —Preceding unsigned comment added by Mark.camp (talk • contribs) 01:11, 25 June 2010 (UTC)
Where "Application Server" comes from
I am laughing just a little over the impassioned discussion here, because I was actually present in 1997 when the term "application server" was coined. I was in a conference room at 417 Montgomery St. in San Francisco with Paul Ambrose, Bob Pasker, and Scott Dietzen, and we were trying to come up with a viable marketing vehicle for what we were doing at WebLogic. Was it a web server? No. An application builder? No. It was something in between, a cool implementation of serving up not pages, but whole applications that you could pretty much write over a weekend. It was . . . a web application -- server. So that afternoon, we decided to call it an application server. I don't think that term had ever been used before.
It was an interesting time; we had no real competition, and consequently, we had no market space. We were just trying to figure out how to describe what WebLogic did. We weren't a tools company (but we were), we weren't doing transaction processing (but we were), we weren't trying to build a web-based operating system (but we did), we weren't rewriting the web server (but we did). The only thing we were committed to doing was writing it all in Java.
Good luck on rewriting all that pesky application server history.
This page is really a complete disaster, and will continue to be so, as, like most current terms in use in software development, it is transitory by nature, and reliant on interpretation of differing standards by competing vendors. SQL, C++, and anything nailed with a decent JSR can be cited and categorised quite easily for encyclopedic use, but these more abstract terms cry out for judicsious editing.
I think the best thing to do would be to remove almost all of the page, leave a cursory desscription more along the lines of:
"Term used to describe a platform capable of running software designed to serve multiple clients. The term is used across multiple software vendors and expert groups and has no fixed definition or capabilities."
It is not up to Wikipedia to list all of the features of different app servers or different types of app servers. That is the job of the specialist press and expert users surely? — Preceding unsigned comment added by 126.96.36.199 (talk) 16:49, 25 June 2011 (UTC)
- I agree that this article at present is quite poorly written and represents a transitionary term, but since Wikipedia is a work in progress, I don't think that erasing these is a good, or even productive, idea at all. TheOwlWBU talk 09:54, 8 December 2011 (UTC)
- I have reverted the removal (and collapsed this section), as it did not improve the article. See also the section below. --M4gnum0n (talk) 16:21, 9 February 2013 (UTC)
So, what is an application server?
i read in the intro: "An application server is a server that provides software applications with services such as…" …uh, to whom? To some kind of a "client", i suppose, what kind? And what does that client do with whatever it is being served? And what is this mysterious "software applications with services"? Does the app server provide software apps, or services, and if the latter, what kind? "…security, data services, transaction support, load balancing, and management of large distributed systems." Hmmm, this sounds like a list of apples and oranges, which reads like "apples, pipe wrenches, knapkins, heat, and referendums." I still don't understand what an application server is, and i say this seems a waste of time. --Jerome Potts (talk) 17:16, 2 February 2013 (UTC)
- Done - I have restored the old intro, which better explains what an application server is IMHO. --M4gnum0n (talk) 16:12, 9 February 2013 (UTC)
- I don't normally talk like this, but: I think I have found what is currently the worst page on Wikipedia. Nczempin (talk) 16:15, 6 July 2013 (UTC)
- I believe that this term is horribly archaic. It's just not used any longer and I believe this is because it has no intrinsic meaning, I'm sorry. I'm not completely convinced it ever did. As a software engineer with 30+ years experience, I ***STILL*** am not quite sure how to characterize it. The problem is, I can't find citable support for a negative: who writes with authority on when a term is considered archaic and no longer used?Tgm1024 (talk) 13:27, 21 March 2015 (UTC)