Upload
george-ang
View
310
Download
8
Embed Size (px)
Citation preview
• RIA和GeoWeb• GeoWeb架构• Rich GeoWeb Viewer• 设计原则• 架构设计• Flex,JavaScrip和Silverlight• 演示
• 2002年Macromedia首先启用RIA一词• 随后Macromedia发布Flash Remoting,开始真正的RIA应用
• 2005年Adobe收购Macromedia,RIA快速成长
• RIA简单定义:–互联网应用程序–提供类似桌面系统的实用性及多媒体化
• AJAX• Adobe Flash/Flex/AIR• Microsoft Silverlight• Sun JavaFX (?)• Firefox 3 (Prism, Tamarin,
IronMonky)• Google (Gear, GWT, Chrome, etc.)
HTML HTML httpRequest Java Applet Flex AIR DHML Flash Firefox Java Java Web Start Remoting Scripting ActiveX Silverlight WPF .Net JavaScript JavaFX Google GWT Gear
开放基于各种标准广泛有浏览器就能使用
没累赘只有网页,没有程序装载
发布一切都在网络服务器上操作
富使用感受类似桌面系统的界面,多媒体,全进程
应用程序
本地处理和集成快速,高性能,利用本地资源
界面工具强大多样的界面开发工具,方便快捷程
序开发
下线功能不需要随时在线
• Geospatial Web – 1994年,Dr. Charles Herring,《An Architecture of Cyberspace: Spatialization of the Internet》, Army Construction Engineering Research Laboratory
• 网络化数字地图奠定GeoWeb基础• 网络数字地图≠GeoWeb
支持
• 协作式计算• 服务集成 (Mashups)• 用户提供内容Distributed Data Management
多元参与
• 互联• 合作• 集成Dynamic
分布式协作
Web 2.0
Web 1.0
GeoWeb
移动互联网
GDB
桌面
应用
服务器
服务与Geospatial数据管理
地图三维图像化Geoprocessing数据管理
开放式APIs
OGCKML
SOAPSQL
ArcGIS
PublishingServices
服务提供者
S1
S2
S3
Sn
S2 +
S3
S1
Mashups
外部服务资源
S1
移动通讯
S1 S3
企业信息系统
• 仅用数字地图显示地标不足以解决问题–需要基于地图的互动–需要以简捷方式释放大量含空间信息的数据–需要以空间图像化来表达被处理的空间信息–需要用基于地点的服务来提高决策机能
• Rich GeoWeb Viewer提供一个窗口来满足这些需求
ArcGIS
发布的服务
服务提供者
S1
S2
S3
Sn
S3
S1
Mashups
外部服务资源
移动通讯
S1 S3
企业信息系统
Rich GeoWeb Viewer
“Everything should be made as simple as possible, but not simpler.”- Albert Einstein
“Simplify, and add lightness”- Colin Chapman
YAGNI (You arent Gana Need It) – “Always implement things when you actually need them, never when you just foresee that you need them.”- Ron Jeffries
DRY (Dont Repeat Yourself, aka Single Point of Truth)
• 复合式体系架构 (composite architecture)• 可扩充性 (extendable)• 可配制性 (configurable)• 内部模块可替换性(swappable) • 品牌化 (brandable)• 开放与服务性 (open and service centric)• 支持多种RIA技术 (RIA technology neutral)
• 一个widget是一个单独部署的文件• 一个widget包含特定的业务逻辑• 一个widget是通过配置文件来部署• 一组widget可代表一套业务解决方按• 可通过调整widget来扩充解决方按,而不是经过再编程以至增加系统的复杂性
• Widget的开发远比整个系统开发容易
• 用户界面• 基本地图(base map)• 基于地图的服务URL• 装备 部署的widget• Widget自身配置–数据源URL–数据过滤
• 个性化改变–配置文件–图标icons– stylesheet
• 改头换面–Widget模版– Viewer嵌入–替换核心模块
1. <?xml version="1.0" encoding="utf-8"?>
2. <BaseWidget3. xmlns="com.esri.solutions.flexviewer.*"
4. xmlns:mx=http://www.adobe.com/2006/mxml>
5.
6. <WidgetTemplate>7. <!– Hello, World! -->
8.
9. </WidgetTeamplate>10.
11. </BaseWidget>
• 将新widget加入配置文件
<widgets> <widget title =“My First Widget” icon =“aicon.png” menu =“menuWidgets” config =“MyFirstWidget.xml” > MyFirstWidget.swf </widget><widgets>
Widget JavaScript 程序文件代码
1. dojo.provide("com.xyz.widgets.ANewWidget");2. dojo.require("com.esri.solutions.jsviewer._BaseWidget");
3. dojo.declare(
4. "com.xyz.widgets.AnewWidget",
5. com.esri.solutions.jsviewer._BaseWidget,
6. {
7. // DemoWidget code goes here
8. _module: "com.xyz.widgets",
9. templatePath: dojo.moduleUrl("com.xyz.widgets", "templates/ANewWidget.html"),
10. hello: “hey there!”11. }
12. );
Widget HTML文件代码
1. <div class="widgetContent">• <div class = "widgetPanel"
• buttonIcon = "i_phone.png"
• buttonText = "Panel 1">
•
• <p><!– Hello, world! />
1. ${hello}• </p>
• </div>
• </div>
1. <slv:BaseWidget x:Class="ESRI.Solutions.SilverlightViewer.Widgets.AboutWidget"
• xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
• xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
• xmlns:slv="clr-namespace:ESRI.Solutions.SilverlightViewer;assembly=ESRI.Solutions.SilverlightViewer”>
•
• <slv:WidgetPanel>
• <slv:WidgetPanel.Content>
• <Grid>
• <StackPanel VerticalAlignment="Stretch">
• </StackPanel>
• </Grid>
• </slv:WidgetPanel.Content>
• </slv:WidgetPanel>
• </slv:BaseWidget>
Stimulus Reporting
$40,000 $40,000 $40,000$40,000 $40,000
$40,000
$40,000
$40,000
$40,000
$400,000 $500,000
$2,000,000
$40,000
Housing:$ 2,000,000
Environment:$ 400,000Overall S:mulus
[Statewide]
Health Educa:on Transporta:on Energy Housing Workforce Public SafetyEnvironmentOverall S:mulus
STIMULUS PROJECTS NEAR ME: Address, Zip Code Click on icons to get more informa:on
Learn about our approach…
Stimulus Reporting
$40,000 $40,000 $40,000$40,000 $40,000
$40,000
$40,000
$40,000
$40,000
$400,000 $500,000
$2,000,000
$40,000
Overall S:mulus with Popula:on Density[Statewide]
LOW HIGH
Need Maps:
Popula:on Density Household Density Per capita income (1999)
Health Educa:on Transporta:on Energy Housing Workforce Public SafetyEnvironmentOverall S:mulus
STIMULUS PROJECTS NEAR ME: Address, Zip Code Click on icons to get more informa:on
Learn about our approach…
123 Main St
Stimulus Reporting
Health Educa:on Transporta:on Energy Housing Workforce Public SafetyEnvironmentOverall S:mulus
STIMULUS PROJECTS NEAR ME: 123 Main Street Click on icons to get more informa:on
Overall S:mulus [Selected County]
Educa:on:$ 200,000
Environment:$ 100,000
$40,000
$500,000
Overall $ 1,100,000
Health $ 100,000
Educa:on $ 200,000
Transporta:on $ 150,000
Energy $ 150,000
Housing $ 100,000
Environment $ 100,000
Workforce $ 100,000
Public Safety $ 200,000
Learn about our approach…
Stimulus Reporting
ABC Elem:$ 80,000
XYZ High:$ 40,000Public K‐12
[Selected County]Specific Projects
$25,000
$40,000
Overall $ 1,100,000
Educa:on $ 200,000
Public K‐12 $ 120,000
ABC Elem $ 80,000
XYZ High $ 40,000
ABC ElementaryFunding: $80,000Es:mated Comple:on: APR 2010
Health Educa:on Transporta:on Energy Housing Workforce Public SafetyEnvironmentOverall S:mulus
STIMULUS PROJECTS NEAR ME: 123 Main Street Click on icons to get more informa:on
Learn about our approach…
Stimulus Reporting
Educa:onwith Math Proficiency[Statewide]
DECLINE IMPROVE
Effects of S:mulus:
Math Proficiency Science Proficiency Reading Proficiency
$40,000 $40,000 $40,000$40,000 $40,000
$40,000
$40,000
$40,000
$400,000 $500,000
$2,000,000
$40,000
Health Educa:on Transporta:on Energy Housing Workforce Public SafetyEnvironmentOverall S:mulus
STIMULUS PROJECTS NEAR ME: 123 Main Street Click on icons to get more informa:on
Math Proficiency X
2006 20072008
Learn about our approach…