|
Odyssey Software 公司的CEfusion 和ViaDB 扩展了您的基础结构,使它可以利用您的Pocket PC应用程序。本文是关于如何使重用性和集成效率最大化系列开发文章的第一篇。
您需要具备
- eMbedded Visual Tools
- Odyssey 公司的 ViaDB
本文中,我使用了SQL Server 7.0和FMStocks 示例程序。但是,并不是一定要使用它们。
商业整合推动了系统集成
在12月份的时候,我为Cap Gemini Ernst & Young的 电子杂志“Focus” 写了一篇叫做“前进中的移动”的文章。
通过定义了10条规则,我介绍了移动解决方案对企业和移动软件开发项目的影响。简短的说,所有的规则都说明:要想成功,企业的移动解决方案必须在集成Pocket PC这样的移动设备和后端资源上做大量的工作。
现在,通过我近6个月的经验,我发现:在现代的n级体系结构内,商业运作和移动设备之间的集成真的正在推动系统集成的第二次浪潮。第一次集成浪潮发生于商业运作和Web之间,现在依然在继续发展。支持商业和Web集成的软件开发项目把系统集成定义为成功的一个关键因素,换句话说,是否成功要取决于为商业运作开发的解决方案是否足够的好。在新浪潮中,我又清楚地看到了这一点。
从“商业应满足移动性的需要”的观点来看,我相信我们能从过去“商业满足Web需要”的经验中学习到很多东西。
最大化的重用性和集成效率
那些已经完成了家庭作业的企业IT商店已经开始实施Microsoft Windows DNA 架构来开发可伸缩的、模块化的应用程序。通过在投资和实践之间做出权衡,IT 商店会决定启动移动软件开发项目。
简而言之,把Pocket PC定义为一个从资源的中央后端网络中使用应用程序逻辑和数据库的系统体系结构提升了重用性和集成效率。Pocket PC上最基本的操作系统(Windows CE 3.0)集成了Windows DNA 技术。Pocket PC上的应用程序开发工具和开发语言(eMbedded Visual Tools)和Windows DNA架构中现有的几乎是相同的,这使得Pocket PC成为了创建企业内部移动解决方案的理想平台。
在企业的一个典型Web开发项目中,全部支出中大约40%是与系统集成方面的工作或设备有关系的。对于开发移动解决方案来说,情况更是如此。因此出于缩短宝贵的产品上市时间和降低成本的原因,任何志在尽可能减少这些工作的难度的工具和基础结构都是值得注意的。
了解Odyssey Software 公司的工具和基础结构
Odyssey Software 是移动系统领域为企业提供技术的技术提供商。它们的技术可以和OLE DB 数据源、COM、MTS(Microsoft Transaction Server)、COM+以及MSMQ(Microsoft Message Queue Server)这样的Microsoft 核心DNA 部件进行无缝集成,并且针对无线系统进行了优化。
在“创建移动Windows DNA 应用程序”系列文章中,我将介绍Odyssey Software公司的两个主要产品:ViaDB and CEfusion,并且用一些示例代码来对我的分析进行论证。
iaDB 是Pocket PC上一个运行在ADOCE 3.0下的通用的OLE DB 提供程序。 ViaDB 扩展了从Pocket PC到网络上特定的远程服务器所有的ADO 调用或OLE DB调用,使Pocket PC应用程序可以获取任何可用的数据源。
图1: ViaDB 体系结构图
CEfusion 由一个富有创新精神的部件和服务组成,该服务在与Windows DNA的无缝集成中甚至可以走的更远。CEfusion 不仅支持ADO,而且支持事务操作和商业逻辑,比如说:在依赖模式下或非依赖客户模式下,都允许您例示来自Pocket PC并运行在MTS下的任何部件,或者为可靠的同步消息和多消息事务与MSMQ进行集成。
图2: CEfusion 的体系结构图
ViaDB 和 CEfusion 都能与eMbedded Visual Studio (eVisual Basic 和 eVisual C++)一起工作,它们都是非常值得考虑的工具。本文将仅仅集中讨论ViaDB。我将在本系列文章的下一个部分花些时间来讨论CEfusion。
一个基于FMStock的ViaDB 示列工程 FMStock是一个可以下载的带有源代码的示例程序,我用它来理解最新和最好的Windows DNA 技术。我下载了脚本来安装SQL Server 7.0 数据库,并且下载了在MTS内工作的部件来连接数据库。在使用以下的示例代码进行讨论之前,我建议您也下载一个它的副本并进行安装。
看一下他门的股票交易Web站点上的运行演示。Web站点上有一个方案是查找特定股票财务情况的股票行情自动接收系统。
在ViaDB 演示中,我使用FMStocks 存储过程在Pocket PC应用程序中实现同样的功能。您可以下载这个eVB工程。
在您的Pocket PC上获取财务信息
在讨论代码之前,我要对我的Pocket PC应用程序的功能进行一些说明。第一个窗体主要提供一个用户界面,在这里您可以输入股票名称中的一个或多个字母来搜索匹配的股票。
图3:搜索股票
搜索的结果以下面的格式返回
图4: 在列表框中搜索结果
现在寻找股票基本情况;访问者从列表框中选择MSFT股票,然后会收到以下的结果:
图5: 最后,财务情况!
代码讨论
现在,我要突出某些代码,这段代码利用ViaDB OLE DB 提供程序连接到后端的SQL Server 数据库。以下的代码位于“选择股票”窗体的Form.Activate事件中:
|
' Set the ADOCE connection object Set cnDb = CreateObject("ADOCE.Connection.3.0")
' Open the connection to the ViaDB provider. Point to remote server. cnDb.Open "Provider=ViaDB; ViaDB Remote Provider=SQLOLEDB; ViaDB Remote Server=z7100325 ; Initial Catalog=stocks; User ID=sa"
' Set the ADOCE recordset object Set rsRecordset = CreateObject("ADOCE.Recordset.3.0")
' Call the stored procedure using the ViaDB remote connection and the Recordset Open method. ' Store the resultset in the recordset object. strSQL = "Ticker_ListByTicker '" & strTicker & "'" rsRecordset.Open strSQL, cnDb, adOpenKeyset
' Clear and populate the listbox lstTickers.Clear Do While Not rsRecordset.EOF lstTickers.AddItem rsRecordset(0) & " " & rsRecordset(1) rsRecordset.MoveNext Loop
' Close the recordset rsRecordset.Close
|
应该仔细研究一下下面的细节:
- ViaDB 充当了Pocket PC上的本地OLE DB 提供程序。像我们以前一样,ADOCE 通过“Connection”和“Recordset”对象来提供它的服务。
- “connection”字符串指定了网络上的远程服务器。它甚至可以是一个IP地址。如果您正试着在您的桌面PC上离线运行这个程序,并且您的桌面电脑上装有SQL Server 7.0,您可能需要试一下190.168.55.100这个IP地址。
- 我使用了FMStocks的存储过程 Ticker_ListByTicker。
- 任何Visual Basic 的开发人员都可以看懂这些语法和语句结构。为Pocket PC开发应用程序是非常直接了当的。
要得到更多的细节,我推荐您查看整个工程。
ViaDB 的优点
因为移动设备不是总是处于联机状态,我们会看见在许多企业的移动解决方案中,整个部署了同步、合并和复制软件包。在2000年末, Microsoft 将发布新的SQL Server for Windows CE,该产品将运行在Pocket PC上。它很可能会成为最好的本地存储引擎并且具有一些非常优秀的同步特性。然而,在实时联机场合以及需要对数据流进行高度编程控制的情况下,ViaDB 和CEfusion 提供了更好的性能。此外,使用ViaDB,您可以连接任何与OLE DB兼容的数据源,例如:Oracle,Access,Exchange,IBM DB2,等等。
在我的样本工程中,我展示了取得成果的机会以及已经可以从网络资源中得到的代码。在这个特定的实例中,我从Pocket PC应用程序中直接调用了存储过程。
结论
据我所看,在IT体系结构的角色里,对在企业内建立移动解决方案来说,Pocket PC平台绝对是最可行的。和Windows DNA 架构的无缝集成、广为人知的开发环境以及志在扩展现有基础结构的强大的第三方工具和基础结构都是造就这一切的原因。
开始进行开发工作是很容易的:eMedded Visual Tools 是免费的;FMStocks 示例程序是免费的;单用户的ViaDB 开发许可证是免费的 - 最后一点,在开发工作的道路上,PocketPC.com 将一直和您在一起。
|