Application Server که ترجمه آن سرويس دهنده نرم افزار کاربردي است به يک نرم افزار يا سخت افزار گفته ميشود که يک Application يا نرم افزار کاربردي که معمولا تحت وب سايت را سرويسدهي مي کند. در واقع اين نرم افزارهاي کاربردي هيچگونه رابط گرافيکي ندارند و فقط براي ارائه دادهها و اطلاعات به کلاينتها مورد استفاده قرار ميگيرند.
Application Server ها و Web Server
Application Server ها و Web Server ها استفادهها و تشابههايي در عملکرد دارند که اصلا بعيد نيست يک وب سايت هم Application باشد و هم Web و طبيعتا روي سرور اين وب سايت شما هم Application Server را خواهيد داشت و هم Web Server، وظيفه وب سرور گرفتن اطلاعات از محتويات ارائه شده توسط Application Server است و در کنار آن Web Server هم اطلاعات گرفته شده را در اختيار کاربران قرار ميدهد .
در واقع يک همکاري کاملا درست، يکي اطلاعات را ايجاد ميکند و ديگري اطلاعات را سرويسدهي و نمايش ميدهد.
اما به اين موضوع دقت کنيد که هر کدام از اين Role ها ميتوانند به تنهايي نيز کار کنند و الزامي به وجود هر دوي آنها بر روي يک سرور نيست.
Web Server هايي که داراي محتويات ساده و صفحات استاتيک وب هستند نيازي به داشتن Application Server ندارند و همچنين Application هايي که اصلا رابط گرافيکي ندارند و توسط نرم افزارهاي تحت شبکه سرويسدهي مي کنند نيز طبيعتا نيازي به داشتن Web Server براي انجام کارهاي خود ندارند.
Application Server ها با توجه به ماهيت کاريشان به نسبت Web Server ها داراي انعطاف پذيري بيشتري براي پياده سازي هستند، Application ها براي اجرا به مراتب از تنوع منابع و آزادي عمل بيشتري برخوردار هستند.
همين امر هم ممکن است باعث بروز نقاط ضعف امنيتي در Application Server ها شود که مهاجمين بتوانند از آن سوء استفاده کنند.
با توجه به اينکه به نسبت Web Server ها داراي ساختار کاري ساده تري هستند طبيعتا حملاتي که به وب سرورها انجام ميشود کمتر از Application Server ها است.
اما به اين موضوع هم توجه کنيد که امروزه تقريبا همه Application ها را به گونهاي مينويسند که با ترکيب شدن با وب سرورها کار کنند و به نوعي Web Application Server ها امروزه در دنياي فناوري اطلاعات حرف مي زنند، اين موضوع هم خوب است و هم بد، از اين جهت خوب است که يکپارچگي ايجاد شده در اين محصولات باعث سهولت دسترسي به Application مورد نظر ميشود و کاربر ميتواند براحتي با استفاده از يک مرورگر اينترنتي ساده به Application سرور خود متصل شود و از جهتي مشکل امنيتي بيشتري پيش ميآيد؛ نقاط ضعف امنيتي Application Server ها و Web Server ها در اين حالت تجميع مي شود و مهاجمين اينگونه نرم افزارها را بيشتر مورد حملات خود قرار ميدهند .
در سطوح امنيتي بالاي سازماني پيشنهاد ميشود که Application Server ها از Web Server ها جدا باشند و Web Server که صرفا به عنوان يک واسط کاربري محسوب ميشود در منطقه حفاظت شدهاي به نام DMZ قرار بگيرد و Application Server در داخل شبکه داخلي محافظت شده قرار بگيرد تا از بروز حملات بر روي آن جلوگيري شود، به هر حال شما ميتوانيد هر دوي اين سرويسها را روي يک ماشين هم داشته باشيد و اين کاملا به ديدگاه طراح شبکه شما بر ميگردد.
در واقع Application Server نرم افزاري هست که واسط بين نرم افزار شما و سيستم عامل ميباشد.
وظايف نرم افزار Application server
- اجراي کتابخانهها و سرويسهاي نرم افزار شما
- دريافت منابع سيستمي از سيستم عامل و مهيا کردن آنها براي سيستم شما و ساير سيستمهاي ديگري که ممکن است همزمان روي آن as درحال اجرا باشند، به شيوه کاملا مديريت شده
- برقراري ارتباط سيستم شما با ساير سرورها مثل سرور پايگاه داده(dbms) و سرور پيام (messaging server)
- برقراري ارتباط با ساير اپليکيشن سرورها
- مديريت life-cycle اجزاي مختلف نرم افزار شما
نمونههاي Application Server
- WebSphere
- WebLogic
- JBoss
- GlassFish