软件即服务
(Software as a Service)
系列课程第五讲
SaaS, WSS 3.0 and MOSS 2007
杨晓光
软件开发架构师
http://sunlite.cnblogs.com/
Hotmail: cnsaas@hotmail.com
本次课程
包括
zSaaS架构师架构师,WSS & MOSSWSS & MOSS程序员程序员
perspective
(Application Architecture)
zWeb application
z智能客户端(Smart doc)
z微软SaaS
收听本次课程需具备的条件
•• 了解了解SaaSSaaS ((最好听过前最好听过前44讲讲))
•• 了解了解WSS 3.0,MOSS 2007WSS 3.0,MOSS 2007
•• 对新技术有一些激情对新技术有一些激情
•• 能读一些英文能读一些英文 ☺☺
Level 300
SaaSSaaS体系结构的成熟模式体系结构的成熟模式
z特设/定制 z可配置(但是单租赁的)
z可配置
z多租赁
z可配置
z多租赁
z可扩展
WSS 3.0 as a Solutions Platform
•WSS 3.0 supplies core workspace services
•Particularly suited for building scalable Web-enabled
applications
•WSS 3.0 provides out-of-box collaboration solutions
•WSS 3.0 provides platform for Office servers technology
Important WSS v3 Concepts
• Farm
– The highest-level scope for a WSS deployment
– An installation of one of more Web servers and back-end servers
– Each WSS farm has one and only one configuration DB
• Web Application (a.k.a. Virtual Server)
– An IIS Web site extended with WSS
– Entry point capable of hosting 10,000s of site collections
• Site Collection (a.k.a. Site)
– Unit of scale and ownership containing top-level site
– Stored in one specific content DB
• Site (a.k.a. Web)
– Many per site collection
– Uses same content DB as parent site
WSS 3.0 & MOSS 2007 meet WSS 3.0 & MOSS 2007 meet
the highest level the highest level SaaSSaaS architecturearchitecture
z可扩展
¾扩展the Application
¾扩展the Data
z多租赁
z可配置
¾配置data modeldata model
¾配置workflow
¾配置UI
WSS 3.0 WSS 3.0 是是 Windows Server 2003 Windows Server 2003 的附件其核心是,的附件其核心是,
WSS WSS 作为可伸缩的站点提供引擎,简化了成百上千个作为可伸缩的站点提供引擎,简化了成百上千个
Web Web 站点的创建和管理过程,并使得成千上万的用户站点的创建和管理过程,并使得成千上万的用户
能够对其进行访问。通过使用在考虑能够对其进行访问。通过使用在考虑 Web Web 领域环境的领域环境的
基础上所设计的体系结构,从而实现了基础上所设计的体系结构,从而实现了 WSS WSS 的可伸的可伸
缩性。此体系结构基于依赖于缩性。此体系结构基于依赖于 SQL Server SQL Server 来存储内容来存储内容
和其他站点相关数据的无状态前端和其他站点相关数据的无状态前端 Web Web 服务器而构建服务器而构建
。。
扩展 the Application
可扩展
多个运行多个运行WSSWSS的机器可进入一个的机器可进入一个SQL Server SQL Server
databasedatabase或一组以网站分区的或一组以网站分区的databasedatabase。这样一来。这样一来
就改进了可扩展性,允许大量的用户进入同样的网就改进了可扩展性,允许大量的用户进入同样的网
站。值得一提的是,尽管它们逻辑上是分开的及对站。值得一提的是,尽管它们逻辑上是分开的及对
用户来讲看似不同,在内部,用户来讲看似不同,在内部,documentsdocuments和和items items
实际上很相似:只不过是实际上很相似:只不过是SQL Server tablesSQL Server tables中的记中的记
录而已。录而已。
扩展the Data
多租赁
a Web Application a Web Application 作为作为 a single instancea single instance。。
Different TopDifferent Top--level sites belonging to different level sites belonging to different
site collections of a Web Application site collections of a Web Application 服务服务
different Tenants. The childdifferent Tenants. The child--level sites belonging level sites belonging
to a Topto a Top--level sitelevel site服务服务end users of the same end users of the same
tenanttenant。。
Sites and Site Collections
WSS manages sites in terms of site
collections
– Each Web Application can host one or more
site collections
– Each site collection has exactly one top-level
site
– A site collection may (or may not) have child
sites
可配置
zz ListList是是WSSWSS的一切的中心。的一切的中心。WSSWSS中的所有中的所有contentcontent都存储为都存储为
一个一个ListList。。WSSWSS甚至于可以在甚至于可以在SQL ServerSQL Server中为中为existing existing 和和
new listsnew lists存储存储itemsitems,而无需产生,而无需产生new SQL Server tablesnew SQL Server tables。。
这成为这成为WSS scalabilityWSS scalability的根本。的根本。ListsLists可有多个由用户通过可有多个由用户通过
WSS UIWSS UI产生的产生的viewsviews。。
zz lists schema lists schema 决定决定the structure of each itemthe structure of each item。。lists lists
schemaschema由一组由一组names and typesnames and types组成的组成的columnscolumns构成。构成。
WSSWSS也支持也支持content typecontent type。。content type schema content type schema 决定决定
document or list itemdocument or list item。。
data model customization data model customization
•• 许多开发人员希望能够在较低级别使用许多开发人员希望能够在较低级别使用 WSS WSS 字段,以字段,以
获取字段呈现和验证的更多控制权限。为了响应上述获取字段呈现和验证的更多控制权限。为了响应上述
问
,问题,WSS 3.0 WSS 3.0 添加了新的可扩展字段类型。可通过添加了新的可扩展字段类型。可通过
使用使用 C# C# 或或 Visual BasicVisual Basic®® 编写类来创建可扩展字段编写类来创建可扩展字段
类型,该字段类型继承自其中一种内置类型,该字段类型继承自其中一种内置 SharePointSharePoint
字段类型(如字段类型(如 SPFieldTextSPFieldText 和和 SPFieldNumberSPFieldNumber)。可)。可
扩展字段类型也可以使用包含您所喜欢的扩展字段类型也可以使用包含您所喜欢的 Web Web 控件的控件的
ASP.NET ASP.NET 用户控件,对于控件初始化和验证,您可以用户控件,对于控件初始化和验证,您可以
使用在使用在 ASP.NET ASP.NET 应用程序中所使用的相同技术。应用程序中所使用的相同技术。
•• WSS 3.0 WSS 3.0 中的另一个有用创新是自定义站点列。站点列是中的另一个有用创新是自定义站点列。站点列是
可以应用在多个列表中的可重复使用定义。它定义了列的可以应用在多个列表中的可重复使用定义。它定义了列的
名称,其基本字段类型以及其他特征(如默认值、格式和名称,其基本字段类型以及其他特征(如默认值、格式和
验证)。只要定义了站点列,便可以在定义您的用户定义验证)。只要定义了站点列,便可以在定义您的用户定义
列表的结构时使用该站点列。一个明显的优点是您可以在列表的结构时使用该站点列。一个明显的优点是您可以在
一个位置更新站点列,而该更新会影响到使用该站点列的一个位置更新站点列,而该更新会影响到使用该站点列的
所有列表。站点列在单个站点范围内定义,但对于下面的所有列表。站点列在单个站点范围内定义,但对于下面的
所有子站点而言,该站点列都是可见的。所有子站点而言,该站点列都是可见的。
•• WSS 3.0 WSS 3.0 引入了一种强大的新存储机制,称为内容类型。引入了一种强大的新存储机制,称为内容类型。
内容类型是一种灵活的、可重复使用的内容类型是一种灵活的、可重复使用的 WSS WSS 类型,它用类型,它用
于为列表中的项或文档库中的文档定义样式和行为。于为列表中的项或文档库中的文档定义样式和行为。
Customization of workflow
• WSS 3.0 建立在 Windows Workflow Foundation 之上以提供将业务逻
辑连接到list items 和 documents上的结构。
• SharePoint Designer也支持information workers 在WSS 3.0 sites上产
生custom workflows。Developers则可用WF’s Workflow Designer 和
Visual Studio 2005。
• WSS 3.0提供很多document-oriented workflows。然而最终,它是一
个platform for development and execution.。它本身提供end users直
接可用的workflow。
• Developer 产生Windows SharePoint Services workflow时,可以产生
custom activities。一旦产生了Windows SharePoint Services
workflow and its forms,Developer 必须把它们包装为a feature。可以
产生 a feature that defines a custom list type, an instance of that list
type, and an event handler or workflow on that list instance.
• Feature被安装后,它可以在any site within a farm 内被激活。然后这
个站点就包含了new custom list and any behavior you want to
attach to it.
z Office SharePoint Server 2007为建立在Windows SharePoint
Services 之上的workflow applications增加了更多的功能。通过
这个产品, workflows 可用由Microsoft Office InfoPath 2007 产
生的custom forms,通过Office applications,例如Word 2007
和Outlook 2007,与Users进行交互。Users 也能用Web Parts
定制browser interface ,允许each user产生一个非常适合于他
的interface。
z Office SharePoint Server 2007在Windows SharePoint
Services 3.0之上所做的增加可分为三方面:support for Office
2007 clients, the ability for workflows to use forms created with
InfoPath, and pre-defined workflows。
Customization of UI
z SharePoint的最有价值的特点之一,是users 可用web
parts定制 user interface 。
z WSS 3.0 从头开始设计,以包含 ASP.NET 2.0 的“母版页”
基础结构。
z 可以很方便地用您自己的 ASP.NET 控件来代替 WSS 元
素,如菜单和导航栏。这可适用于站点范围或站点集合
中的页面。
z 母版页和内容页面的存储和加载方式类似于页面模板和页
面定制的存储和加载方式。为母版页和内容页面定义的页
面模板位于前端 Web 服务器的本地文件系统上。每个站点
最初使用母版页模板和内容页面模板的取消定制(重像)
版本。当用户使用诸如 SharePoint Designer 之类的工具
为特定站点定制和保存其中的一个页面时,一个定制(取
消重像)版本会保存到 SQL Server 数据库中。
z 用作 Web 部件页面的 .aspx 页可以包含编辑器部件,用户
可以利用这些部件自定义和个性化永久 Web 部件属性。
Web 部件页面也可包含目录部件,用户可以利用这些部件
将新 Web 部件添加到各个区域中。
z WSS 3.0 负责添加目录和编辑器部件,因此无需 Web 页
面设计器来明确地执行此任务。
z 开发人员还可以开发自定义 Web 部件。
高级应用程序体系结构高级应用程序体系结构
z浏览器
z智能客
户端
z表示
z流程服务
z商业服务
z元数据
服务
z安全服
务 z目录服务
z数据库z文件系
统
z元
数据
Meta Data Service 元数据服务元数据服务
UI/Branding
Workflow/Business
Rules
Data Model Extensions
0 or more
scopes
Scope
Access Control
Customizable (定制定制)):
界面界面//商标商标
工作流工作流
数据模型数据模型
商业规则商业规则
域定制域定制
Scope (领域领域)):
Nested hierarchy of
customization
(定制嵌套定制嵌套层次层次))
Inheritable (可继承的可继承的))
E.g. Enterprise,
department, user levels
(企业企业,,部门部门,,用户级别用户级别)
Domain-specific ext.
Site in WSS2.0 (equals “site collection”
of WSS 3.0) already supports
customizable and scope
• First, a site is a container for storing content. Site contents are
primarily stored in the form of lists, document libraries, and child
sites.
• Second, a site is a securable entity whose content is accessible to
a configurable set of users. A site can either define its own set of
users or it can inherit the users of its parent site. Each site user
maps to a Windows account defined within an Active Directory
domain or a local Windows security accounts database. A site also
contains a configurable set of groups and permissions that
define the level of accessibility that various users have on the
site's lists and document libraries.
• Third, a site also happens to be a Web application with its own
extensible and fully-customizable user interface. A site owner or
Web designer can customize the layout and appearance of a site's
pages and modify the site's navigation structure using either the
browser or FrontPage 2003.
WSS database
• WSS data and content stored in SQL Server
• Provides foundation for scaling to Web farm
environment
• Configuration data stored in WSS
configuration database
• Site content and customizations stored in
content databases
Office client
Security Services
Authentication
Authorization
Auditing
Authentication:
Username/password,
X509 Certificates
SSO
Authorization:
RBAC, Rule-based
Audit:
Security events
Policy driven on/off
Security Services in WSS 3.0 & MOSS
• It's important to note that MOSS 2007 publishing sites
benefit from WSS 3.0 security advancements. In
particular, WSS 3.0 is built on top of the ASP.NET 2.0
authentication provider infrastructure. Unlike SPS 2003,
which is tightly coupled to Active Directory, you can
configure a MOSS 2007 portal site to use forms-based
authentication.
• Single Sign On is a MOSS service that provides
credential mapping. The SSO service is generally used
when a MOSS portal site must provide access to a
backend system that doesn't allow for Windows
authentication against user account in an Active
Directory domain.
Data Model Extension
•A site collection always includes a top-level site
•A site collection can optionally contain other
secondary sites that are related to the top-level
site through parent-child relationships.
•Every site must be created within a specific site
collection and all the sites in the same site
collection are stored in the same content
Database
•List store items. The structure of each item is
determined by the lists schema which
includes a set of columns with names and types.
Lists can have multiple views which can be
created by the user via the WSS UI.
Shared Services
““ClassicClassic”” HostingHosting
CPUCPU--StorageStorage--BandwidthBandwidth
Shared Services: e.g. Billing, Metering, SLA Monitoring…
a.k.a. SO Infra, Service Delivery Platform, OSS/BSS
As provider: do you build or buy the hosting?
“Classic”
Hoster
SaaS
Hoster
SaaS
Provider
Shared Services in WSS 3.0 & MOSS
z The core purpose of WSS is to act as a scalable site provisioning
engine. WSS provides the services in the purple boxes so
developers do not have to create that code themselves when
creating site-oriented and workspace-oriented applications.
z The architecture of MOSS 2007 is based on shared service
providers (SSPs). An SSP represents a set of services that can be
configured a single time and shared across many different MOSS
portal sites and WSS sites.
z Shared services are consumed by various Web applications
associated with the SSP. Shared Service Provider (SSP)
independent of any portal.
z Different portals can be configured to use different SSPs.
z SSP select configured at level of WSS Web Application.
Asia Pacific SaaS Revenue by Application, 2005
SaaS Enterprise Applications by Category
微软SaaS体系结构指南
• SaaS应用程序体
系结构文件
• Webcasts
• 博客
•
研究
资源
博客
http://blogs.msdn.com/fred_chong
http://blogs.msdn.com/gianpaolo
http://blogs.technet.com/michael%5Fplatt
http://haowu0318.cnblogs.com/
文件
Architecture Strategies for Catching the Long Tail
Multi-tenant Data Architecture
SaaS: An Enterprise Perspective
Web站点
http://www.cnSaaS.com
http://msdn.microsoft.com/architecture/saas
http://msdn.microsoft.com/isv
http://www.microsoft.com/serviceproviders/solutions/applicationho
sting.mspx
微软微软SaaSSaaS计划计划
微软微软SaaSSaaS技术架构推广技术架构推广
WebCastWebCast 在线
在线培训 20062006年年1010月月
WorkshopWorkshop深度培训深度培训 20072007年年33月月
微软苏州软件园微软苏州软件园SaaSSaaS孵化器孵化器
非营利机构,支持中国非营利机构,支持中国SaaSSaaS企业成长企业成长
SaaSSaaS商务平台,商务平台,www.CNSaaS.comwww.CNSaaS.com
中国中国SaaSSaaS黄页功能黄页功能 20072007年年11月月
在线交易(未来)在线交易(未来)
优惠优惠SaaSSaaS IDC HostingIDC Hosting环境,降低企业成本环境,降低企业成本
市场活动支持市场活动支持
优秀的优秀的SaaSSaaS产品有机会推荐给风险投产品有机会推荐给风险投
大型市场活动推广大型市场活动推广
获取更多MSDN资源
• MSDN中文网站
http://www.microsoft.com/china/msdn
• MSDN中文网络广播
http://www.msdnwebcast.com.cn
• MSDN Flash
http://www.microsoft.com/china/newsletter/case/
msdn.aspx
• MSDN开发中心
http://www.microsoft.com/china/msdn/Developer
Center/default.mspx
Question & Answer
如需提出问题,请单击“提问”按钮并在
随后显示的浮动面板中输入问题内容。一
旦完成问题输入后,请单击“提问”按钮。