每位从事IT技术的人员一般都会关注在某一个特定的平台,这个平台能够提供你需要交付给客户项目或者产品的能力。我想市面上最主要的企业级应用平台主要有:
公司 | 主要语言 | 框架或技术 | 开发工具 | 软件产品 | 云产品 |
微软 | C#/VB.net | .Net Framework | Visual Studio, Blend | Windows, SQL Server, Office SharePoint, Dynamics, Exchange etc. |
Windows Azure SQL Azure |
Oracle | Java | JDK Weblogic |
JDeveloper Enterprise pack for Eclipse, etc |
Oracle Database,WebLogic Server E-Business Suite, CRM, etc. |
Oracle Cloud |
IBM | Java/C++ |
JDK Websphere |
RAD for Websphere (Eclipse-based) | DB2, Websphere Rational,Lotus, Tivoli etc |
IBM SmartCloud Enterprise Amazon Web Services |
我个人主要接触和熟悉的领域为微软的.Net平台,应该有七八年的实际项目相关经验,本文主要对微软.Net技术平台以及微软提供的软件产品进行汇总,希望能够为刚进入微软平台或者在微软平台有初步了解的朋友提供一个索引和鸟瞰的视图。
上图为本人总结的在企业应用开发中经常使用到的技术能力和微软的产品,其中对Microsoft Technology Development层进行了展开。我相信每个小框都是以下基础技能,都可以作为一项单独的课题进行专项研究,在园中的索引当中或许可以找到相应的主题 分类,在未来的时间里,可以会根据工作需要对不同的主题展开讨论,例如上个月主要关注在Mobility这个能力上,总结了关于Windows Phone 7的开发。相连的小框代表这两个能力具有相关性。
微软技术能力地图(Microsoft Technology Capability Landscape)主要从四个层面对涉及相关的技术和产品进行归类。
- Microsoft Development Platform 和 Basic Knowledge:微软技术开发的基础框架和知识领域,如果是从程序员起身,熟悉和掌握该层面的各种知识对于通往更高层的技术领域或者岗位至关重要
- 基础知识:操作系统、面向对象、软件工程、软件架构等软件开发基础知识,这些基本原理将决定您对软件开发的内功
- 语言:掌握核心的几种编程语言是非常关键的,例如C++为起源的面向对象编程语言,通过这个可以延伸到C#、Java等语言;掌握XML,对于 Markup Language就可以依次类推到HTML, XAML作为界面的描述语言,本质为按照树形结构来描述UI Element的层级结构并为Render提供基础;通过Javascript类推解析执行的动态语言如Ruby等;以SQL作为关系型数据访问的语言类 推到Linq的查询语句;以UML为例的软件模型建模语言可以帮助你在软件架构提供描述方式。
- 框架:语言提供描述和撰写软件的能力,框架提供软件的基础设施,微软从2002年发布.Net Framework第 一个版本以来,.Net Framework已经成为微软ISV开发的主流平台,很多企业也在逐步将企业软件逐步迁移到该平台上;除了掌握基础的BCL和CLR之外,合理使用高层 服务例如WCF、WF和Linq将大大提高软件的生产效率;微软同时在不断增加各种软件服务来丰富软件开发平台能力,例如Azure SDK。
- 展示:微软平台主要有三种展示平台技术,Web、Windows和Mobile,随着网络的不断发展,越来越多的企业软件迁移到Web- Based的软件,特别是MIS系统,正如很多人关注的即是否有必要在Silverlight投入精力,似乎HTML5可以具备富客户端的能力,但个人认 为还需要10年左右才可能成熟,在短期内了解基于XAML的WPF/Silverlight还是需要。Net Framework中提供了客户端的WinForm、Asp.net以及基于XAML的WPF/Silverlight的框架。
- Microsoft Foundation Products:微软平台开发的基础软件,一般在所有的项目中都可能涉及到,包括开发工具Visual Studio(TFS),数据库工具SQL Server(包含延伸的SSAS和SSRS,以及Data Warehouse等BI整套开发工具),Windows操作系统(包括IIS、MSMQ等)以及Office(承载办公Productivity的 Excel、Word、Outlook、InfoPath等)
- Microsoft Enterprise Products:作为微软技术ISV、系统集成商或者咨询公司,一般都会利用微软企业产品来提供完整的解决方案,微软的产品从企业内部办公软件逐步在向 企业业务延伸,但相对其他竞争对手如Oracle,针对行业的解决方案相对欠缺。除了基础软件Windows和Office之外,微软主要的产品有 Active Directory、Exchange、SharePoint、Dynamic CRM,其次还有System Center、BizTalk Server、ForeFront、Dynamic AX等产品。基于每个产品都可能提供一个或者多个解决方案,例如BI、ECM、Collaboration、EPM、CRM、ERP、BPM等等。同时微 软也提供云的服务Azure(在中国区暂时没有开放),包括IaaS(Azure Virtual Image)、PaaS(Windows Azure、SQL Azure)、SaaS(Office 365)。【关于云日后再细致Share我个人研究的结果】
- Microsoft Delivery Channel:微软的企业战略“三屏+一云”,微软通过定位3种屏幕来传递相应的产品服务到终端用户。
这张图有两个目的:
- 可以分析已经了解的知识、未知的产品领域,并汇总表达个人或者企业的微软技术能力成熟度
- 可以进行微软技术知识的索引和归类
希望通过这个能力分解图能够打开一个讨论的话匣,以此丰富它并分享给后来者,同时我日后的微软技术文章将以此文章作为索引和分类。