软件开发的世界是一个充满变化的地方。新思想涌现并很快体现为新技术。有时这些新技术可以逐渐被吸收,添加到软件从业人员已有的知识当中。另外一些时候,这个变化太大以至于不能被视为逐步的更新。在这种时候,software developers,architects和managers都经历一个底层架构的变化,一个他们的世界的地震。
The world of software development is a volatile place. New ideas appear and are quickly embodied in new technologies. Sometimes those new technologies can be absorbed incrementally, adding to what software professionals already know. Other times, the changes are too great to be introduced as gradual innovations in what already exists. In cases like this, software developers, architects, and managers all experience a fundamental tectonic shift, an earthquake, in their world.
微软的.Net的产生就是这种地震。它将影响每一个工作在windows环境下的人员,并且也将震动更大范围的世界。一次做了这么大的变动,Microsoft使我们近期的生活因为要去掌握太多的东西而变得更艰难。一旦我们掌握这些新工具、技术,不管怎样,大部分的Windows开发人员会发现他们能够在更短的时间建立更强大更有用的软件。
Microsoft’s .Net initiative is this kind of earthquake. it will affect everybody who works in the windows environment, and it will generate aftershocks in the wider world, too. by giving us so much change to adapt to at once, Microsoft has made our lives more difficult in the short run—there's a lot to learn. Once we've absorbed this new set of tools and technologies, however, most windows developers will find themselves capable of building more powerful, more useful software in less time.
定义.Net
Defining .Net
Microsoft 把.Net当作数字未来的一个景象,一个平台。一个更具体而且同样精确的考虑Microsoft的这个动作的方法是把.Net当作一种标签,在它上边Microsoft应用了几种新技术。一些技术是完全新的,提供新的服务和新的可能。其他一些提供更好的方式生成我们今天看到的这种Windows应用。. Net家族还有一些部分仅仅是穿着打上.Net标签外衣的传统技术的新版本。
Microsoft views .Net as a vision, a platform for the digital future. A more concrete and equally accurate way to think about this initiative is to understand that .Net is a brand, one that Microsoft has applied to several different technologies. Some of these technologies are entirely new, providing new services and new possibilities. Others allow an updated approach to creating the kinds of windows applications we know today. Still other parts of the .Net family are just new releases of existing technologies dressed up with the .Net brand.
.Net中最重要的新技术是Web Service.如同名字显示的,一个Web Service提供一些功能,这些功能能够以编程方式通过Web调用。大部分打着.Net标签的技术在一些程度上提供对Web Service的直接支持。然而.Net不仅仅是Web Service. 现在Microsoft放在.Net名誉下的技术还包括下面这些:
The most important new technology in .Net is web services. as the name suggests, a web service provides some function that can be invoked programmatically via the web. most technologies that carry the .Net brand have direct support for web services in some way, yet .Net is more than just web services. The technologies that Microsoft has placed under the .Net umbrella today include the following:
² the .Net framework(.Net框架):包括 the common language runtime (公共语言运行时)(CLR)以及.Net Framework Class Library(.Net 框架类库 ). CLR是建立新型应用的标准基础,而.Net Framework Class Library 为CLR基础的应用提供了许多新型服务的标准实现。在这些类库中的技术有ASP. Net,下一代的ASP; ADO. Net, 下一代的ActiveX数据对象; 建立及使用Web Service的支持;以及其他一些技术。Microsoft也发行了the .Net framework 的裁减版,称为 .Net compact framework.这个版本主要被用于在更小的设备如 personal digital assistants (PDA)(个人数字助理).
² The .Net framework: includes the common language runtime (CLR) and the .Net Framework Class Library. The CLR is a standard foundation for building a range of new applications, while the .Net Framework Class Library provides standard implementations of many new services for CLR-based applications. Among the technologies in the library is ASP. Net, which is the next generation of active server pages (asp); ado. Net, the next generation of ActiveX data objects; support for building and using web services; and much more. Microsoft is also releasing a trimmed-down incarnation of the .Net framework called the .Net compact framework. This version is intended for use in smaller devices, such as personal digital assistants (PDA).
² visual Studio.NET:支持几种能够配合使用.Net framework的语言。这些语言包括visual basic. Net,下一代的visual basic; 一个c++的增强版;以及一个专门为.Net framework设计的称为C#的全新的语言。
² Visual Studio.NET: supports several programming languages that can be used with the .Net framework. These languages include visual basic. Net, which is the next generation of visual basic; an enhanced version of c++; and a wholly new language called c# designed explicitly for the .Net framework.
² . Net my services: 一组通过internet可以访问的服务,通过他们用户可以存储、访问个人信息,如calendar[行事历]和address book[地址薄]. 这些服务业提供更通用的功能如authentication,同意客户证明它的身份,以及一种发送Alert信息给不同设备上的用户的途径。
² . Net my services: a group of services that allow users to store and access personal information, such as a calendar and address book, on internet-accessible servers. these services also provide more general features such as authentication, which allows a client to prove its id entity, and a way to send alert messages to clients on various devices.
² the .Net enterprise servers[.Net企业服务器]:一个软件服务器家族,包括BizTalk server 2000, Application center 2000, Commerce server 2000, Host integration server 2000, SQL server 2000, Exchange server 2000, Mobile information server 2001, 以及 Internet security and acceleration server 2000.在当前的版本中,这些产品和大程度上独立于其他列在这里的.Net技术。他们既不使用.Net framework也不提供对Web Service的直接支持。
² The .Net Enterprise Servers: a family of software servers that includes BizTalk server 2000, application center 2000, commerce server 2000, host integration server 2000, SQL server 2000, exchange server 2000, mobile information server 2001, and internet security and acceleration server 2000. in their current releases, these products are largely independent from the other .Net technologies listed here. They don't, for example, make use of the .Net framework, nor do they provide much direct support for web services.
Standards for web services
Web Service是一个很难提出反对意见的好思想。然而如果这些技术只被Microsoft支持,就不是那么有意义了。幸运的是,Microsoft, IBM, Sun, Oracle, Bea, 以及其他一些供应商都认可核心的web services 技术,包括Soap, WSDL, 和 UDDI. 其中一些技术已被提交到world wide web consortium (w3c),即将变为官方标准.例如,W3C已经建立了一个XML协议工作组。这个工作组现在拥有SOAP,正在工作以便提供这个web services 承载协议的下一版。重要的是尽管现在不是所有的web services 技术是官方标准,但所有的技术都拥有广泛的供应商支持.
同时,这些技术都不依赖于任何Microsoft特有的技术如.Net framework. 这有些令人惊讶,既然在其中每一个协议的产生上Microsoft都扮演重要的角色. 不管这个公司在遵守多供应商标准上一贯的坏名声, Microsoft 似乎认识到没有广泛的认可 web services不可能成功.因此,Redmond(译注--雷德蒙,是美国西北角的一座小城,它是微软总部所在地)天才中的web services决议制定者迄今为止选择和竞争对手合作以便使新技术可以真正得到多供应商支持。
Web services are an unassailably good idea. Yet if these technologies were supported by Microsoft alone, they wouldn't be very interesting. Fortunately, Microsoft, IBM, sun, oracle, BEA, and many other vendors have all endorsed the core web services technologies of soap, WSDL, and UDDI. Some of those technologies have been submitted to the world wide web consortium (w3c) and so are on their way to becoming official standards. For example, the w3c has created an xml protocol-working group. This group now owns soap and is working to create the next version of this workhorse protocol for web services. The key point is that while not all of these web services technologies are official standards yet, all of them have broad vendor support.
Also, none of [these technologies] contains dependencies on Microsoft-specific technologies such as the .Net framework. This is a little surprising, given that Microsoft was a major player in the creation of each one. Despite the companies less than stellar reputation for conforming to multi-vendor standards, Microsoft seems to have realized that web services cannot succeed without widespread endorsement. Accordingly, the web services decision-makers within the Redmond giant have thus far chosen to work with their competitors to make this new technology a multi-vendor reality.
—David Chappell
理解.Net要求理解Web Service.也至少要求基本掌握任何列在上边的技术。
Understanding .Net requires understanding web services. It also requires grasping at least the basics of each of the .Net technologies listed above.
David Chappell is principal at Chappell & associates, an education and consulting firm focused on enterprise software technologies. He can be reached via e-mail at david@davidchappell.com.