[Algemeen] Wat is een applicatieserver eigenlijk?

Pagina: 1
Acties:
  • 2.436 views sinds 30-01-2008
  • Reageer

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Misschien een hele stomme vraag, maar ik wil het nu wel eens weten.
Een vriend van me die ook programmeur is, heeft het regelmatig over applicatieservers (hij is Java programmeur dus het is altijd in de context van J2EE)

Heb al gezocht met de search, maar daar word ik ook niet wijzer van.

Ik weet wat een netwerk is, wat een applicatie is, ik weet hoe webservers en mailservers werken, maar wat is een applicatieserver nou precies?

Is dat 'applicatie' in de zin van een webapplicatie, zoals een CMS? of is het applicatie in de zin van iets wat draait op de applicatielaag van TCP/IP?

Ik heb het wel eens gevraagd, maar ik krijg van die onduidelijke abstracte antwoorden.
Het enige wat ik me er nog van herinner, is dat ze via XML communiceren 8)7

Misschien begrijp ik ook wat een web service precies is, als ik dit snap..

Acties:
  • 0 Henk 'm!

  • faabman
  • Registratie: Januari 2001
  • Laatst online: 08-08-2024
hoi, ik quote ff het 2e result wat ik krijg op google

[google=microsoft application server]
http://www.directionsonmi.../2002/12dec/1202wiaas.htm
What is an Application Server?

Sidebar: Why Use Three-Tier and Components?
Illustration: Milestones to an Application Server
An application server is a software platform designed to simplify building, deploying, running, and maintaining large-scale, multiuser applications, such as payroll systems, expense report tracking, and sales force automation. They do so by reducing the amount of custom infrastructure code that developers must write, freeing them to focus on the custom code required for their specific business problem.

The most widely used architecture for developing large-scale business applications is a component-based, three-tier model. The three-tier application model divides an application into three logical partitions, or tiers: a user interface (UI) tier for client interactions, a middle tier for business logic, and a data tier for data storage. The use of components to build the tiers facilitates code reuse—rather than each application requiring its own code to manage incoming requests, for example, a single queuing component can perform this task for multiple applications—which makes the development process easier to manage. (For more information on component-based, three-tier applications, see the sidebar "Why Use Components and Three Tiers?".)

The distinction between data and business logic tiers is often murkier in practice than in theory. Applications frequently include middle-tier components that do nothing more than retrieve data and which therefore might logically be considered part of the data tier. In addition, performance considerations sometimes dictate implementing business logic in the data tier (in the form of SQL stored procedures, for example).

Role of an Application Server

Although component-based and three-tier development practices have both been widely used to build large-scale applications since the mid-1990s, the process of developing applications remained cumbersome and error-prone. Each application was essentially a "one-off" development effort, and each organization was solving the same core set of problems (such as how to ensure scalability or data integrity) over and over again.

In the late 1990s, several vendors, recognizing the desire to simplify and reduce software development costs, introduced application servers—software platforms designed to provide a common infrastructure for component-based, three-tier applications and to simplify the development and management process.

The basic functions of an application server fall into three groups:

Hosting components. The role of the middle tier in the three-tier model is to encapsulate the business logic of the application; for example, the payroll deduction and taxation rules in a payroll system. Application servers accomplish this by hosting components in way that enhances their scalability, reliability, and manageability, adding such capabilities as queuing (the ability to guarantee that a message from one component to another will be delivered) and pooling (the ability of components to be kept in a "ready" state, awaiting a request).

Connecting to data. The ultimate function of most corporate applications is to retrieve or update information that is stored in databases. Therefore, application servers must allow middle-tier components to connect to a variety of databases and coordinate the activities of the components in a way that ensures the integrity of the underlying data. For instance, if an application is simultaneously updating a purchase history and inventory database, it must make sure that if the purchase is successfully completed, the inventory is updated.

Supporting UIs. Users can interact with applications through both browser-based and custom application UIs (often referred to as thin and thick clients, respectively). Application servers typically support both types of UIs by including class libraries or APIs for creating custom client applications and for integrating with Web servers to enable browser-based UIs.

The Windows Application Server and Its Competitors

Even though Microsoft does not market a product explicitly called an "application server," it is positioning the forthcoming release of Windows Server, Windows Server 2003, as including all of the features of an application server. In fact, many of these features have been available for several years, either directly in Windows (such as the inclusion of automatic transaction support in Windows 2000) or through additional software such as the .NET Framework. (For more information on Microsoft’s march toward an application server, see the sidebar "Milestones Toward an Application Server".)

Microsoft faces stiff competition in the application server market. The two most widely used application servers are WebLogic from BEA and WebSphere from IBM. Further complicating matters is the fact that IBM uses the WebSphere brand to describe a broad array of products, including some, such as host integration, that are only peripherally related to application servers.

Whereas Microsoft’s application server platform is design solely around Windows and the company’s .NET technology, most competing application servers are designed to run on top of any of several OSs, supplementing the basic functions provided by the OS so as to present the developer with a consistent set of APIs on which to build. For example, in addition to Windows, WebLogic runs on Sun Solaris, HP-UX, and RedHat Linux, while IBM provides versions of WebSphere for AIX, HP-UX, OS/2, OS/390, OS/400, Sun Solaris, and several Linux distributions. To achieve that level of cross-platform capability, most competing application servers are built around Java 2 Enterprise Edition (J2EE).

It is precisely because of their use of Java that Microsoft considers these competing application servers to be a threat. Applications built on top of J2EE use Windows indirectly and instead rely on the APIs of the application server to perform their functions. This isolation from Windows theoretically allows customers to replace the underlying OS with an alternative that is also supported by their application server, without breaking existing applications. By including the features of an application server directly in Windows Server 2003, Microsoft hopes to make Windows and the .NET technologies an appealing alternative to these Java-based products.

Although J2EE and .NET have many similarities, such as the use of a managed execution environment to reduce the number and severity of coding errors, there are significant API differences between J2EE and .NET as well as among J2EE-based application servers. It is beyond the scope of this report to enumerate all of these differences, and IT planners must be careful to treat application servers as basic infrastructure technology and to thoroughly evaluate them, because switching an application to run on a different application server is likely to be a costly proposition.
toon volledige bericht
mmm, zat er aan te denken om er stukken uit te vissen, maar, als ik het ff vluchtig doorlees staat het er eigenlijk allemaal wel duidelijk...

volgens dit artikeltje is een appserver in ieder geval een stuk software (als ik het ff heel gauw doorlees dan zijn het .NET framework en het J2EE framework (is dat een framework :? ) application servers)

p.s. mods als jullie dit te lang vinden dan haal ik het wel weer weg...

[ Voor 5% gewijzigd door faabman op 16-10-2003 22:08 ]

Op zoek naar een baan als Coldfusion webdeveloper? Mail me!


Acties:
  • 0 Henk 'm!

  • CmdrKeen
  • Registratie: Augustus 2000
  • Laatst online: 12-02 15:16

CmdrKeen

Krentenboltosti

Ik ben het met de TS met de extreem coole ondertitel eens dat ik het allemaal nogal abstract vind. Zelfs WhatIs.com gooit met abstracte begrippen in dit geval.

Kan iemand een lekenuitleg geven? Ik weet wel ongeveer hoe het zit, maar niet helemaal.. (Ja, ik weet dat dat een tegenstrijdigheid is :))

Wikipedia zegt er het volgende over:

http://en2.wikipedia.org/wiki/Application_server

Application server
From Wikipedia, the free encyclopedia.
Find out how you can help support Wikipedia's phenomenal growth.

An application server is a server computer in a computer network dedicated for running certain software applications.

In the latter part of the 1990s, it was thought that a massive shift over to centrally served applications was likely, and that the desktop PC would be replaced by lightweight network computers. This was, in fact, a return to the much older model of computing as it was done in the 1960s, with a large, very expensive central computer being accessed by multiple users using dumb terminals. The difference now was the widespread use of the GUI. Certain products, such as Citrix's WinFrame, became quite popular, allowing standard Windows software to be run on a NT server, and accessed from a wide variety of clients, including non-Windows platforms such as Mac and Unix. So far, this shift has not happened on the predicted scale, and serving a GUI-based application over a slow network has presented a number of technical challenges that have not entirely been solved. It remains to be seen if the prediction comes true or whether the late 90s interest turns out to have been a fad.

This term is used wildly as a buzzword in the fields of:


Distributed computing - denoting a computer running some part of some distributed computation task

Software components - denoting a "component farm", i.e. a computer stuffed with software components ready to answer calls for usage

Web services - denoting a machine running applications which will answer to inteface calls over HTTP and XML

See Also

Application service provider
Citrix Systems


Het lijkt er dus op dat de term een aantal verschillende zaken aanduidt.

[ Voor 88% gewijzigd door CmdrKeen op 16-10-2003 22:06 ]

Bloed, zweet & koffie


Acties:
  • 0 Henk 'm!

Verwijderd

hmm misschien een beetje kort door de bocht maar wat dacht je van :

applicatieserver = computer (server) waar het server-deel van een client-server applicatie op draait ;)

edit : denk ook aan applicatie als de letterlijke betekenis van het woord -> toepassing

applicatieserver is een server waar je toepassingen op draait, in tegenstelling tot een file-en-print server of een domain controller (databaseserver wordt ook niet tot de applicatieservers gerekend overigens).

[ Voor 47% gewijzigd door Verwijderd op 16-10-2003 22:12 ]


Acties:
  • 0 Henk 'm!

  • faabman
  • Registratie: Januari 2001
  • Laatst online: 08-08-2024
Het lijkt er dus op dat de term een aantal verschillende zaken aanduidt.
Die volgens mij wel op hetzelfde neerkomen:
- jou quote geeft aan dat een appserver een stuk hardware is wat een specifiek stuk software faciliteert
- mijn quote geeft aan de een appserver een stuk software is wat het voor ontwikkelaars gemakkelijker maakt om applicaties te ontwikkelen

lijkt erop dat een appserver een combinatie van hard- en software is die er op gericht is om efficiency- en effectiviteitsvoordelen te behalen bij het ontwikkelen en toepassing van automatisering

Op zoek naar een baan als Coldfusion webdeveloper? Mail me!


Acties:
  • 0 Henk 'm!

  • CmdrKeen
  • Registratie: Augustus 2000
  • Laatst online: 12-02 15:16

CmdrKeen

Krentenboltosti

Als ik een server A heb met een database waarin van elke werknemer staat hoe lang ze waaraan hebben gewerkt, en die db heeft een webinterface van 20 kilobytes (ASP op IIS bijvoorbeeld) die op server B staat, is server B dan een applicatieserver? Werknemers maken vanaf clients X, Y en Z verbinding met server B om via server B data in de database in server A in te voeren.

[ Voor 30% gewijzigd door CmdrKeen op 16-10-2003 22:48 ]

Bloed, zweet & koffie


Acties:
  • 0 Henk 'm!

  • faabman
  • Registratie: Januari 2001
  • Laatst online: 08-08-2024
lijkt met dat het ook met schaalgrote te maken heeft

Op zoek naar een baan als Coldfusion webdeveloper? Mail me!


Acties:
  • 0 Henk 'm!

Verwijderd

@villenin : in de breedste zin van het woordt is B dan dus inderaad een applicatieserver.

Acties:
  • 0 Henk 'm!

  • Poiter
  • Registratie: Juli 2001
  • Laatst online: 04-07 10:11
Een applicatieserver is in principe een stuk software, net als een databaseserver. Daarnaast kan het zo zijn dat 1 machine volledig voor deze taak wordt ingezet, waarna deze machine dan wordt aangeduid met dé databaserver of dé applicatieserver.
Daarnaast kan het ook zo zijn dat een applicatieserver en databaserver op 1 machine draait.
Voorbeelden van applicatieservers zijn DCOM, EAServer (Sybase), WebSphere, Oracle Application Server etc...

Een applicatieserver wordt gebruikt in een 3 lagen model, waarbij in de aplicatieserver de businesslogica is geimplementeerd. Op de applicatieserver draaien dus componenten (zonder gui) die kunnen worden aangeroepen vanaf bv een webpagina, maar ook vanaf windows-clients etc..

Groot voordeel is dus dat je de businesslogica onafhankelijk van je clients kunt bouwen, en er later ook nieuwe clients op kunt maken. Ook de datbase-kant kun je onafhankelijk maken van het type database, en/of meerdere databases aan koppelen.

Kort gezegt kun je dus (in principe) met een applicatieserver, database- en client-onafhankelijk bouwen.

Daarnaast is een applicatieserver scalable; meerdere servers zijn meestal te clusteren.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
FvKnijff schreef op 16 October 2003 @ 22:14:
...lijkt erop dat een appserver een combinatie van hard- en software is die er op gericht is om efficiency- en effectiviteitsvoordelen te behalen bij het ontwikkelen en toepassing van automatisering
Vager dan dit kan bijna niet.

Ik zat dus toch op het goede spoor, door niet helemaal te begrijpen wat een applicatieserver nou is, omdat het zo abstract is.
En omdat het misschien wel heel veel dingen tegelijkertijd betekent afhankelijk van wie je het vraagt.

Iemand hier zegt dat een applicatieserver in principe tier 2 is (de business logica) van het 3 tier model.

Iemand anders zegt weer dat een applicatieserver de server kant representatie is van de hele applicatie (dus alle drie de tiers).

Iemand anders zegt weer dat het een software platform is met veel herbruikbare componenten, met als doel dat je er gemakkelijk de server kant van een client-server applicatie op kan ontwikkelen.

Nog weer iemand anders zegt dat het gedeeltelijk een hardware, gedeeltelijk een software platform is voor de ontwikkeling van een complete applicatie.

Kortom ik denk eigenlijk dat het heldere en eenduidige antwoord wat ik zocht, gewoon niet bestaat.

Misschien komt dit wel doordat de term "applicatieserver" een beetje gehypet is sinds de oplaaiende concurrentiestrijd tussen Websphere, Oracle, Windows 2003/Longhorn enzovoort.

Wat ik alleen nog wel leuk zou vinden, is als ik zou begrijpen hoe de term applicatieserver zich verhoudt tot webservices (alweer zo'n modewoord, maar toch wel echt iets betekenisvols als ik het goed begrepen heb.)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
[edit: Prongeluk dubbel]

[ Voor 151% gewijzigd door Verwijderd op 17-10-2003 03:15 ]


Acties:
  • 0 Henk 'm!

  • Twarp
  • Registratie: Oktober 2000
  • Laatst online: 06-07 14:46

Twarp

just grin...

Jouw Client PC geeft een "applicatie server" de opdracht om een aantal berekeningen/opdrachten uit te voeren en je krijgt vervolgens het resultaat weer op je scherm terug.

Mooie voorbeelden zijn de eerder genoemde Database applicaties/clienten combo's.

Meh ...


Acties:
  • 0 Henk 'm!

  • ripexx
  • Registratie: Juli 2002
  • Laatst online: 06-08 14:20

ripexx

bibs

Zoals ik het ken is het ongeveer zo:
Apllicatie server is een stuk software dat een aantal mogelijkheden cq opties aanbied aan de gebruikers. Veelal is dit dus de businesslogic. De volgende laag is de database server en als laatste is er de storage laag. Met name bij het consolideren maakt men duidelijk verschil tussen deze verschillende gebieden.

Uit ervaring weet ik dat bijvoorbeeld SUN zeer actief hiermee werkt. De verschillende diensten (applicaties, storage en db) worden samengevoegd op basis van het type. Dus zal er geprobeerd worden alle storage zo in te richten dat deze volstaat voor de gehele ondernemening. Hetzelfde gebeurt dus ook voor de db's en applicatie kant. Je ziet dit vooral bij de grotere multinationals. Ook worden de verschillende applicatie servers vaak nog eens opgedeeld in apparte groepen zoals web, mail, ERP enz. Maar bij het consolideren komt meer kijken dan alleen het functioneel indelen, vooral kosten door berekenen aan individuele afdelingen is veel intressanter. ;)

buit is binnen sukkel


Acties:
  • 0 Henk 'm!

  • demonite
  • Registratie: April 2000
  • Laatst online: 11-04 22:23

demonite

the way is up

En over het algemeen wordt het gewoon gebruikt om websites te bouwen.

Leuk dat er interessant gedaan kan worden met 'moeilijke woorden' maar over het algemeen is het niets meer als een website waarin wat gegevens uit een database worden getoond.

Als je het mij vraagt is te vergelijken met "schoonmaakster en interieurverzorgster"

(en voordat ik slaag ga krijgen, JA je kan er leuke dingen mee maken, ik zeg alleen dat de meeste niet verder komen als een simpele website)

[ Voor 20% gewijzigd door demonite op 17-10-2003 09:56 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Je hebt helemaal gelijk dat je er websites mee kan maken!

maar even wat anders je maakt er geen eenvoudige websites mee!
reden:
applicatie server = duur!

ja je kan er gewoon Jboss (is applicatie server software op een opensource licentie) op draaien, maar dan heb je nog steeds een stevig stukje hardware nodig! (voorbeeld www.schiphol.nl maakt gebruik van websphere (websphere is ook weer een stukje software) applicatie server

Als je gewoon een eenvoudige website wilt bouwen of forum... heb je dit echt niet nodig... byv www.tweakers.net maakt naar alle waarschijnlijkheid geen gebruik van een applicatie server. Tweakers zal waarschijnlijk een of andere script language gebruiken met daarachter een database.

Acties:
  • 0 Henk 'm!

  • Orphix
  • Registratie: Februari 2000
  • Niet online
Om het nog ingewikkelder te maken, ASP staat vaak ook voor Application Service Provider. In dit geval betekent het vaak dat je software extern laat beheren en ontwikkelen en online van die applicatie gebruik maakt. Een bedrijf hoeft zo weinig zelf in IT te investeren en kan toch van de functionaliteit gebruik maken.

Je zou GoT ook als een soort ASP kunnen zien, als wij allen bij dezelfde organisatie werkten en dit als een Kennis Management systeem zou worden betiteld :Y)

Acties:
  • 0 Henk 'm!

  • demonite
  • Registratie: April 2000
  • Laatst online: 11-04 22:23

demonite

the way is up

9vd10 websites die draaien op een applicatie server hadden ook met een script taal gemaakt kunnen worden.

Het voordeel van zo'n applicatie server is dat je bv met java/j2ee je "business logic" kunt programmeren. (en onder business logic ivm websites verstaan we dan vaak toegang naar de db + de queries etc)
En in je "representatie laag" je alleen nog maar druk hoeft te maken over hoe het eruit ziet en niet hoe je er aan komt.

maarja, een beetje ervaren script meneer deed dat natuurlijk al jaren...

Ander vaak genoemd voordeel is "database abstractie" ... maw maakt niet uit wat voor database je hebt, hij doet het overal op...
Nadeel wat dan niet genoemd wordt is dat je dan niet meer applicatie server abstract bent...

Acties:
  • 0 Henk 'm!

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 01-08 15:56
In andere woorden scripten met een template systeem o.i.d.? Ik vraag me toch echt af of dat alles is. Het lijkt me dat dit duidelijk meer voordelen bied, alleen weet ik nog niet precies hoe. Ik denk dat het te vergelijken is met een systeem dat tussen alle lagen verbonden is met XML/XSL.

Acties:
  • 0 Henk 'm!

  • demonite
  • Registratie: April 2000
  • Laatst online: 11-04 22:23

demonite

the way is up

Ik heb een tijdje gewerkt met Bea Weblogic, de marktleider qua appserver als ik hun mag geloven.. En ook met JBoss.

Je website of wat je d'r ook mee maakt ziet er 9 vd 10 keer ongeveer zo uit:

1: jsp pagina's gui
2: business logic (servlets)
3: database logic (EJB)
4: database

laag 1 zou je ook kunnen vervangen door een applicatie oid, zodat je met een programma je data kan bekijken ipv via een browser.

de rol vd applicatie server is het bijhouden van wat "Pools" met EJB's en connecties naar je database, voor webserver spelen en er uiteraard voor zorgen dat de JVM aangeroepen wordt.


Is dat een template systeem ? Niet helemaal... Het is gewoon een webserver met een java plugin en wat fratsen d'rom heen...
Pagina: 1