昨天参加Oracle的一个活动,知道了WebLogic的强大,于是对应用服务器产生了兴趣。

WebLogic是一个Java EE应用服务器(与Java EE对应的另外一个技术平台就是.NET)。

为什么要应用服务器?

当你开发了一个服务端应用程序,部署到服务器之后,需要一个针对这个应用程序的执行环境,而不是将代码放到服务器上就能运行。

你需要将Java的JVM或者.NET的CLR运行起来执行你的应用程序;如果是Web应用程序,需要接收用户通过浏览器发出来的请求,并且能将处理结果返回给浏览器。。。

所以,服务器上仅有操作系统是不够的,还需要相应的应用程序执行环境,最好能有提供执行环境、方便应用程序运行的专用服务器,于是应用服务器应运而生。

如果你是用Java开发的服务端应用程序,不管服务器用的是什么操作系统,只要安装一个Java应用服务器就行了,比如这里提到的WebLogic。

如果你是用.NET开发的服务端应用程序,如果服务器用的是Windows,你需要安装IIS,安装.NET Framework;如果服务器用的是Linux,您需要安装Apache,安装Mono,安装Apache Mono模块。如果有跨平台的.NET应用服务器,比如叫NWeblogLogic,不管服务器用的是什么操作系统,只要安装NWeblogLogic,就能跑.NET应用程序,是不是更幸福一些。

目前有没有.NET应用服务器?

有!一图胜千言,请看下图:

Windows Server 2012有一个专门的角色叫Application Server,而要跑.NET Web应用程序,必须要安装Application Server中的2个功能:IIS+.NET Framework 4.5。

所以,我觉得在不开源的.NET时代,真正的.NET应用服务器就一个——IIS+.NET Framework。

随着.NET进入开源时代,你可以把IIS换成另外的Web服务器(因为有了OWIN),把.NET Framework换成.NET Core,再加上OWIN服务器,再加上WCF的替代品,将这些打包在一起,做成一个.NET应用服务器——NWebLogic。Mono也许可以往这个方向发展。

应用服务器是一个不容易理解的概念,写出来理清一下自己的理解,不对之处,欢迎指出。

【更新】

目前我最喜欢的对Application Server的定义:

An application server exposes business logic to client applications through various protocols.

【补充】

PC Magazine对Application Server的解释值得一看,把其中的几张图贴出来:

【相关链接】

Java vs .Net

Why does Java apps need an application server and .Net just IIS Web Server?

Application Server vs. Web Server

.NET应用服务器的更多相关文章

  1. JSP之WEB服务器:Apache与Tomcat的区别 ,几种常见的web/应用服务器

    注意:此为2009年的blog,注意时效性(针对常见服务器)     APACHE是一个web服务器环境程序 启用他可以作为web服务器使用 不过只支持静态网页 如(asp,php,cgi,jsp)等 ...

  2. 使用ehcache持久化数据到磁盘 并且在应用服务器重启后不丢失数据

    使用ehcache时如何持久化数据到磁盘,并且在应用服务器重启后不丢失数据1.如何持久化到磁盘使用cache.flush(),每次写入到cache后调用cache.flush() ,这样ehcache ...

  3. OpenResty 是一个全功能的 Web 应用服务器

    OpenResty (也称为 ngx_openresty)是一个全功能的 Web 应用服务器.它打包了标准的 Nginx 核心,很多的常用的第三方模块,以及它们的大多数依赖项. 通过众多进行良好设计的 ...

  4. 分析案例:应用服务器W3WP进程CPU持续超过百分之九十(Oracle客户端Bug)

    问题描述: 项目反馈应用负载的其中一台服务器业务操作的响应非常慢,登录该服务器发现W3WP进程CPU持续超过90%,哪怕在业务低峰期也是如此?远程查看后发现该应用服务器承载的请求确实很低,why??? ...

  5. 应用服务器和Web服务器

    如上图所示,绝大部分的公司会采用Apache+tomcat集群(或jetty集群)来部署公司的Web服务, Web服务器和应用服务器关系,先介绍一下我们常说的服务器: Tomcat服务器,是运行ser ...

  6. Jetty应用服务器的安装详解

    Jetty是一个开源的Servlet容器和应用服务器,它极度轻量级.高便携性.功能强大.灵活和扩展性好,而且支持各种技术如SPDY.WebSocket.OSGi.JMX.JNDI和JAAS.Jetty ...

  7. 应用服务器Glassfish任意文件读取漏洞

    catalogue . 前言和技术背景 . Glassfish安装配置 . 漏洞利用 . 漏洞缓解(修复) 1. 前言和技术背景 0x1: GlassFish是什么 GlassFish 是用于构建 J ...

  8. EBS应用服务器启动指南

    1.ssh应用服务器    applprod用户密码:*** 管理脚本在$ADMIN_SCRIPTS_HOME路径下 adstrtal.sh       启动所有服务,命令行为adstrtal.sh ...

  9. Spring-事物-不依赖应用服务器的开源JTA事物实现

    不依赖应用服务器的开源JTA事物实现JOTM和Atomikos Transactions JOTM 即基于Java开放事务管理器(Java Open Transaction Manager),实现JT ...

随机推荐

  1. ASDM through site to site VPN

    网上大部分文档只提到两个地方需要设置: 在6.2版本确实可以.但在7.2版本上只有用vpn client或anyconnect client连上的客户端可以用ASDM连上ASA,而通过site to ...

  2. 使用属性android:onClick,出现异常NoSuchMethodException

    在Activity中注册点击事件有两种方式,setOnClickListener或在xml中设置控件的android:onClick="gotoSecond"属性,在Activit ...

  3. Android中实现倒计时

    1.需求 弹出提示的dialog,实现倒计时,结束后关闭dialog 2.dialog界面布局 <?xml version="1.0" encoding="utf- ...

  4. jq实现 按钮点击一次后 3秒后在可点击

    if(printRemind(selectPrintTemplate,selectOrders,orderStatus,isPreview)) //调用打印数据并打印 ajaxDataAndDoPri ...

  5. 手机浏览器,微信中播放amr录音

    由于微信公众号开发中,临时素材只有三天的有效期,但是客户要求所有录音永久保存,永久素材数量又有限制,故只能把录音保存到服务器上.但是存到服务器上有一个问题,手机微信中无法直接播放amr录音.无意中发现 ...

  6. Git 的origin和master分析

    首先要明确一点,对git的操作是围绕3个大的步骤来展开的(其实几乎所有的SCM都是这样) 1.     从git取数据(git clone) 2.     改动代码 3.     将改动传回git(g ...

  7. typeid详解(转)

    (http://www.cppblog.com/smagle/archive/2010/05/14/115286.html) 在揭开typeid神秘面纱之前,我们先来了解一下RTTI(Run-Time ...

  8. React Native移动框架功能研究

    React Native移动框架功能研究 此篇只研究React Native框架的功能. 一.React Natvie是什么 React Native是使用React(或者说JS)来开发原生APP的框 ...

  9. [渣译文] SignalR 2.0 系列:SignalR的服务器广播

    英文渣水平,大伙凑合着看吧…… 这是微软官方SignalR 2.0教程Getting Started with ASP.NET SignalR 2.0系列的翻译,这里是第八篇:SignalR的服务器广 ...

  10. javascript 设计模式-----策略模式

    在<javascript设计模式>中,作者并没有向我们介绍策略模式,然而它却是一种在开发中十分常见的设计模式.最常见的就是当我们遇到一个复杂的表单验证的时候,常常需要编写一大段的if和el ...