文章编号:10452时间:2024-09-28人气:
随着现代软件系统变得越来越复杂,将不同组件和服务集成在一起以实现特定业务目标的需求也变得越来越重要。Web 服务提供了一个标准化的框架,用于构建和集成这些组件,从而实现跨应用程序和平台的无缝协作。
Web 服务是一种分布式计算模型,允许应用程序通过网络相互通信。该模型遵循 SOAP(简单对象访问协议)标准,定义了应用程序交换消息和数据的方式。Web 服务通常由两个组件组成:
Web 服务作为可重用的组件构建,可以轻松地在不同的应用程序中使用。它们还提供了模块化和可维护性的优势,使开发人员能够专注于实现业务逻辑,而不是底层通信细节。
Web 服务在各种现代软件开发场景中得到广泛应用,包括:
有多种资源可用于了解有关 Web 服务的更多信息,包括:
Web 服务在现代软件开发中发挥着不可或缺的作用,提供了一套标准化的机制来实现不同组件和服务之间的集成和互操作性。通过利用 Web 服务的优点,开发人员可以构建更加全面且灵活的解决方案,从而满足不断发展的业务需求。
互操作性在Web3领域的核心地位日益凸显,各大加密项目和互联网应用正竞相寻求这一关键要素以推动未来的网络扩展和价值流通。 Ambcrypto等媒体的报道揭示了互操作性如何打破不同区块链生态之间的壁垒,使得数字世界能够实现全球化和协同效应,如同大航海时代的全球化贸易一样,促进了知识、资源的共享。 互联网的历史告诉我们,连接是其本质,而在Web3时代,区块链间的互操作性成为了用户和流量争夺的焦点,它是加密行业发展的突破口。 Klaytn基金会创始人SamSangminSeo强调了在元宇宙中的重要性,如Cosmos、Polkadot和Cardano等项目已经着手构建互操作性桥梁,如Klaytn与ZetaChain的合作,以及YugaLabs的“Otherside开发套件”。 互操作性的价值不仅在于信息传递,它还能通过智能合约在私有和公有链之间实现安全、定制化的数据传输,对商业、法律和医疗等领域产生深远影响。 此外,互操作性还能降低Web3的入门门槛,实现更高层次的去中心化,让初学者无需深入了解区块链即可参与其中。 MATCH实验室作为Web3生态的一员,其独特的流量平台设计旨在作为不同区块链的桥梁,导入传统互联网流量并促进跨链流通。 MATCH通过COSMOS的IBC技术,桥接EVM和MoveVM体系,解决流量迁移问题,支持私域流量经济,并有望打破Web3世界的“孤岛困境”,提升全球用户的体验和应用的流动性。 未来,MATCH的上线将进一步推动开发者和用户在Web3世界中无缝切换,打破应用首发平台的限制,标志着真正的Web3新大陆的轮廓开始显现。 互操作性的力量,正在为构建一个互联互通、价值流通的全球数字生态系统铺平道路。
深度解析:J2EE vs 开发平台看到这个标题,也许会有人表示疑惑,J2EE和并不在一个层次上,怎么能将它们放在一起呢?需要指出的是,通常所说的包含了一个相当广泛的产品家族,包括开发平台、操作系统、服务器、终端设备等,此外还包括服务平台。 开发平台只是整个战略中的一部分,所以确切地说,放在这里的应该算是开发平台。 随着三层/多层企业信息系统结构的深度发展和下一代分布式计算模型Web 服务的出现,企业应用中关于平台、框架、语言的竞争也愈演愈烈。 J2EE平台在过去几年里一直引领着企业应用的潮流,但最近微软强力推出的平台也开始吸引着众多IT企业和开发人员的注意力,向J2EE平台提出了强有力的挑战。 企业应用领域的技术对抗也因此拉开了架势。 需要强调的是,是战略产品,而J2EE是描述产品的标准,现在有很多符合J2EE标准的产品。 在可以预见的未来,它们都将是构建企业信息系统应用的基础性平台,尤其是开发和部署Web服务的重要平台。 尽管可以同时使用几种系统平台和语言,但对于企业来说,还需要选择一个战略性的平台来实现数据的无缝集成,加速企业应用的部署。 而要做出正确的选择,首先需要充分了解两个平台的特点和优势。 本期专题将为您细说J2EE和。 一、群力所至的J2EE二、开发平台留住Windows开发者三、 J2EE与平台体系架构的异同四、 J2EE vs :Web服务谁主沉浮?一、群力所至的J2EE 中南大学 罗新星 毕文杰 企业应用系统的开发一直面临着重大挑战:一方面,企业应用系统面对的是一个异构的分布式环境,它必须支持与已有系统的集成性和与其他系统的互操作性;另一方面,作为为客户、合作伙伴和企业内部提供信息服务的平台,企业系统还必须具有高可用性、安全性、可靠性和可伸缩性。 这些要求再加上复杂多变的用户需求和不断伸缩的交付时间,使得企业系统的开发越来越困难。 开发商和广大程序员一直在努力推动和殷切期待一个成熟、标准的企业平台来简化和规范企业系统的开发和部署。 Java技术的出现,尤其是J2EE(Java 2 Platform Enterprise Edition)平台的推出正是这种努力的结果,也使得企业系统的开发由此变得更加快速和方便。 需要指出的是,J2EE本身是一个标准,它为不同厂商创建平台产品提供了标准,使不同J2EE平台产品之间的交互成为可能。 J2EE旅程 Java于1996年由Sun公司推出,当时它的主要用途是制作产生动态网页的Applet。 后来,人们发现Java的“一次开发,多次运行”、纯面向对象的特性、垃圾回收机制和内置的安全特别适合于开发企业应用系统。 于是,企业应用开发商纷纷在Java标准版的基础上各自扩展出许多企业应用API,其结果导致基于Java的企业应用呈爆炸式增长。 但是各企业系统API之间又不能相互兼容,破坏了Java的平台独立性。 鉴于此,Sun公司联合IBM、Oracle、BEA等大型企业应用系统开发商于1998年共同制订了一个基于Java组件技术的企业应用系统开发规范,该规范定义了一个多层企业信息系统的标准平台,旨在简化和规范企业应用系统的开发和部署。 这一规范和其定义的平台就构成了J2EE。 目前J2EE的最新版本是J2EE 1.3。 需要注意的是,J2EE本身是一个标准,而不是一个现成的产品(虽然现在有很多符合J2EE标准的产品),它由以下几个部分组成: J2EE规范。 该规范定义了J2EE平台的体系结构、平台角色及J2EE中每种服务和核心API的实现要求。 它是J2EE应用服务器开发商的大纲。 J2EE兼容性测试站点。 Sun公司提供的一个测试J2EE应用服务器是否符合J2EE规范的站点,对通过该站点测试的产品,Sun公司将发放兼容性证书。 J2EE参考实现。 即J2EE SDK,它既是Sun公司自己对J2EE规范的一个非商业性实现,又是为开发基于J2EE企业级应用系统原型提供的一个免费的底层开发环境。 J2EE实施指南。 即BluePrints文档,该文档通过实例来指导开发人员如何去开发一个基于J2EE的多层企业应用系统。 组件-容器 搭建体系架构 J2EE规范定义了一个基于组件的多层企业应用系统开发平台,其逻辑结构如图1所示。 图中的椭圆形表示组件,大矩形表示容器,包含向下文字的小矩形表示API,箭头表示访问,箭头线上的文字表示相应的协议。 J2EE是一个基于组件-容器模型的系统平台,其核心概念是容器。 容器是指为特定组件提供服务的一个标准化的运行时环境,Java虚拟机就是一个典型的容器。 组件是一个可以部署的程序单元,它以某种方式运行在容器中,容器封装了J2EE底层的API,为组件提供事务处理、数据访问、安全性、持久性等服务。 在J2EE中组件和组件之间并不直接访问,而是通过容器提供的协议和方法来相互调用。 组件和容器间的关系通过“协议”来定义。 容器的底层是J2EE服务器,它为容器提供J2EE中定义的各种服务和API。 一个J2EE服务器(也叫J2EE应用服务器)可以支持一种或多种容器。 在图1中,你可能已经注意到每个容器的服务包括两部分:J2SE(Java 2 Platform Standard Edition)和一组扩展的服务。 这是因为J2EE是以Java标准版为基础的,各容器在J2SE之上再根据需要提供一些扩展的服务,如目录服务、事务管理、数据访问、消息机制、安全性等。 J2ee的核心——EJB J2EE定义了四种组件:Applet组件、Application客户组件、Web组件及EJB(Enterprise JavaBeans)组件。 其中Applet和Application客户组件在客户端运行,J2EE通过Java插件为Applet提供运行环境,Application客户的容器就是本地Java虚拟机。 Web及EJB组件在服务端运行。 J2EE中包含两种Web组件:JSP和Servlet。 它们是Web服务器的功能扩展,都能生成动态Web页面。 不同的是JSP是将Java代码嵌入到HTML中,服务器负责解释执行,生成结果返回用户(与ASP技术相似)。 而Servlet是单独的Java类,它动态生成HTML文件返回给客户。 Web组件的容器比较典型的就是基于Java的Web服务器。 EJB是J2EE平台的核心,也是J2EE得到业界广泛关注和支持的主要原因。 我们知道,J2EE的一个主要目的就是简化企业应用系统的开发,使程序员将主要精力放在商业逻辑的开发上。 EJB正是基于这种思想的服务器端技术,它本身也是一种规范,该规范定义了一个可重用的组件框架来实现分布式的、面向对象的商业逻辑。 EJB的核心思想是将商业逻辑与底层的系统逻辑分开,使开发者只需关心商业逻辑,而由EJB容器实现目录服务、事务处理、持久性、安全性等底层系统逻辑。 一个可部署的EJB组件包含3个部分: Remote 接口 Remote接口定义EJB组件中提供的可供用户调用的方法,也就是通常所说的实现商业逻辑的函数或过程(如计算商品价格的函数),以供远程客户端调用。 在EJB组件部署到容器的时候,容器会自动生成Remote接口相应的实例,即EJB对象,它负责代理用户的调用请求。 Home接口 Home接口定义一组方法来创建新的EJB对象,查找、定位和清除已有的EJB对象。 在EJB组件部署时容器也会自动生成相应的Home对象,该对象负责查找和创建EJB对象,返回EJB对象的引用给客户;用户利用该引用调用EJB组件的方法,得到结果;最后Home对象清除EJB对象。 我们可以形象地称Home接口为EJB对象的工厂。 Enterprise Beans类 Enterprise Beans类是商业逻辑的具体实现类。 其可供用户调用的方法在Remote接口中定义。 根据功能不同,EJB 2.0规范中定义了三种Enterprise Beans:会话Beans(Session Beans)、实体Beans(Entity Beans)和消息驱动Beans(Message-Driven Beans)。 会话Beans分无状态和有状态两种。 一般无状态的会话Beans模拟商业逻辑,比如计算价格等。 有状态的会话Beans通常模拟一个客户会话,它会临时保存客户信息,根据客户要求调用其他Beans来存取数据。 两种会话Beans都不保存状态信息或数据,当客户断开连接或服务器关闭时,会话Beans也随之消失。 一个会话Beans的典型例子是网站上的购物车。 实体Beans模拟商业数据,它表示一个数据存储,可以是状态信息或数据库中的一条纪录。 实体Beans在客户断开连接或服务器关闭后,仍有服务保证其数据得以保存。 一个实体Beans的典型例子就是客户账号信息。 消息驱动Beans在行为上很像会话Beans。 不同的是仅在需要向这些Beans发送消息时才调用消息驱动Beans,比如在需要的时候发送用户确认信息等。 另外,在提交和部署EJB组件时,还需要两个文件:部署描述文件,容器根据该文件来部署Enterprise Beans,提供所要求的服务;EJB jar文件,它是提交给EJB容器的一个部署单元,容器(应用服务器)在部署时解开它,装入Enterprise Beans。 EJB容器非常复杂,一般由专业的J2EE应用服务器开发商提供,比较流行的EJB容器由IBM的WebShpere、BEA公司的WebLogic Server、Sun公司的iPlant等应用服务器提供。 EJB容器除了为EJB提供事务处理、目录服务、持久性管理和安全性服务外,还负责EJB的部署、发布和生命周期管理。 平台标准服务 服务是组件和容器之间,以及容器和J2EE服务器之间的接口,在实现层面上它就是一系列API和协议。 J2EE平台定义了一组标准的服务,其中有些服务是由J2SE提供的,有些则是J2EE对Java的扩展。 目录服务 JNDI(Java Name and Directory) API为应用程序提供了一个统一的接口来完成标准的目录操作,由于JNDI是独立于目录协议的,应用程序可以用它访问各种目录服务,如LDAP、NDS、DNS等。 数据访问 JDBC(Java Database Connectivity) API为访问不同类型的数据库提供了统一的途径,屏蔽了不同数据库的细节,具有平台无关性。 J2EE平台除了要求核心的JDBC API(包含在J2SE中)外,还要求扩展的JDBC API 2.0,它支持行集、连接池和分布式的事务处理。 事务处理 JTA(Java Transaction Architecture)定义了一组标准的接口,为应用系统提供可靠的事务处理支持。 JTS(Java Transaction Service)是CORBA OTS事务监控的Java实现。 JTS规定了事务管理器的实现方式,该事务管理器在高层支持JTA标准,在底层实现了OMG OTS规范的Java映射。 消息服务 JMS(Java Message Service)是一组用于和面向消息的中间件相互通信的API。 它既支持点对点的消息通信,也支持发布/订阅式的消息通信。 电子邮件 JavaMail API允许在应用程序中以独立于平台、独立于协议的方式收发电子邮件。 JAF(JavaBeans Activation Framework)负责处理MIME编码,JavaMail利用JAF来处理MIME编码的邮件附件。 CORBA兼容接口 RMI(远程方法调用)是在分布式对象间通信的Java本地方法,它使应用程序调用远程方法像调用本地方法一样,不需要考虑所调用对象的位置。 RMI-IIOP是RMI的扩展,是符合CORBA标准的对象通信协议,也是J2EE默认的组件通信协议。 Java IDL允许J2EE应用组件通过IIOP协议访问外部的CORBA对象。 安全服务 JAAS(Java Authentication and Authorization Service)用两个步骤实现安全性:认证,即由用户提供认证信息(如用户名和密码)来获得系统认证,这一过程又称之为登录;授权,在被确认为合法用户后,系统根据用户的角色授予其相应的权限。 J2EE的授权是基于安全角色的概念,一个安全角色是一个拥有相同权限的逻辑组。 J2EE的安全角色由应用组件提供商来定义。 Web服务支持 目前J2EE还不提供对Web服务的支持。 Sun提供了一套API及其实现WSDP作为对J2EE的扩展,但目前还不是J2EE规范的内容。 在WSDP中,JAXP用来解析XML文档;JAXR向UDDI服务器注册Web Services;JTX/RPC用基于XML的协议(如SOAP)来发送和接收XML文档;JWSDL处理WSDL文档。 虽然J2EE不是为Web服务而生,但它现在正在努力追赶Web服务的脚步。 多层应用模型 从应用的角度来看,J2EE为企业应用系统的开发提供了一种多层分布式企业应用模型。 在J2EE中,应用逻辑按功能不同可以划分为不同类型的组件,各组件根据它们所在的层分布在不同的机器上,共同组成一个基于组件的分布式系统。 J2EE定义了一个典型的四层结构,分别是客户层、Web层、商业逻辑层和企业信息系统层。 在应用开发时,J2EE定义的四层模型可根据实际情况灵活运用。 由于除了Applet外其他的组件都可以访问数据库、EJB组件和企业信息系统,所以通过不同层的取舍及组合,可以衍生出许多应用软件开发模型,如基于Web的四层模型、基于桌面应用的三层模型(不包括Web层)、B2B模型(不包括客户层)等。 如果应用系统比较简单,一般不用EJB作为逻辑层,而直接用Web组件来实现商业逻辑和数据访问,毕竟EJB的开发和部署费用还相当高。 二、开发平台留住Windows开发者 南京邮电学院 李建忠 开发平台一推出,就开始了与J2EE平台的竞争。 它的绝大部分是微软Windows DNA(Distributed Network Architecture)的重写,DNA是微软以前开发企业应用程序的平台。 Windows DNA中包括了许多已经被证实的技术,新的框架取代了这些技术,并包含了Web服务层和改良的语言支持。 从战略角度看,开发平台担负着整合战略的重任,但它最直接的目标则是努力为微软保留住庞大的Windows用户基础。 微软的Windows开发用户群是微软通过Windows操作系统获得的最大财富。 对于为什么要推出开发平台,微软表示,主要原因之一就是由于Java向开发者承诺的硬件和操作系统无关性,可能会导致这些用户转向其他平台。 虽然开发平台本身不会给微软带来很多收益,但Windows程序员是企业内部对微软产品的主要支持力量,商用软件的开发者形成了向客户销售微软产品的重要渠道。 如果微软可以让开发者在开发平台上编写应用程序,那么就会有更多的公司购买微软的其他产品。 认识 认识最好的方法是看它做什么。 战略将互联网本身作为构建新一代操作系统的基础,并对互联网和操作系统的设计思想进行合理延伸,使开发人员能够创建出与设备无关的应用程序,以便轻松实现互联网连接。 包括一个相当广泛的产品家族,它们构建于XML和互联网产业标准之上,为用户提供Web服务的开发、管理、应用和体验。 图1是对战略的总体描述。 组成战略的五个方面包括: 开发平台 这是一组用于建立Web服务应用程序和Windows桌面应用程序的软件组件,包括 Framework(框架)、开发者工具和。 于今年3月发布的Visual Studio 将是RAD开发工具中一个重要的产品。 服务器 能够提供广泛聚合和集成Web服务的服务器是搭建平台的后端基础。 基础服务 密码认证、日历、文件存储、用户信息等基础服务是必不可少的。 微软正在着力建设的 My Services等基础性服务平台是这方面可以借鉴的例子。 终端设备 广泛的连接互联网并体验Web服务的终端设备是实现的前端基础。 PC、PDA以及各种嵌入式设备将在这个广阔的天地里发挥作用。 用户体验 能够满足人们各种各样需求的用户体验是的最终目标,也是的价值实现。 在这五个组成部分当中,开发平台中的 框架是软件构造中最具挑战性的部分,其他四个部分则紧紧围绕框架来进行组织整合。 框架内核 框架实现了语言开发、代码编译、组件配置、程序运行、对象交互等各个层面的功能,为Web服务及普通应用程序提供了一个托管、安全、高效的执行环境。 所有在平台上创建的应用程序运行都需要两个核心模块:Common Language Runtime(CLR,通用语言运行时)和 Framework类库。 CLR是一个软件引擎,用来加载应用程序,确认它们可以没有错误地运行,并进行相应的安全许可验证,执行应用程序,然后将被清除。 Framework类库则向程序员提供软件组件,来编写在CLR的控制下运行的代码,它们按照单一有序的分级组织提供了一个庞大的功能集,包括从文件系统到对XML功能的网访问的每一样功能。 该类库为开发提供了三种基本编程模板:基于的Web表单应用、基于的Web服务应用和基于传统GUI交互的Windows应用。 CLR——的虚拟机 CLR为应用程序提供了一个托管的代码执行环境。 托管意味着将原来由程序员或操作系统做的工作剥离出来交由CLR来完成,从而使程序运行获得更高的安全性和稳定性。 这些工作包括内存管理、即时编译、组件自描述、安全管理和代码验证,以及其他一些系统服务。 CLR提供一个技术规范,无论程序使用什么语言编写,只要能编译成中间语言,就可以在它的支持下运行,这样应用程序就可以独立于语言。 CLR还在应用程序运行环境中为基于组件的编程提供了直接支持,比如它支持属性、事件、对象、继承性、多态性、接口等组件编程特性。 CLR中的自动垃圾收集器负责应用程序运行时的内存分配、对象布局、内存释放等内存管理问题,彻底解决了多年来困扰程序员的内存泄漏问题,大大增强了应用程序的健壮性。 即时编译器在运行时将中间语言以调用的对象方法为单位动态编译成本地二进制代码。 中间语言是在平台下编译器输出PE文件(Windows可执行文件)的语言,它为平台提供了多语言支持,允许开发者使用20多种不同的编程语言。 而元数据是一个内嵌于PE文件的表的集合,描述了代码中数据类型等在代码执行时CLR需要知道的信息。 元数据使得应用程序代码具备自描述特性,提供了类型安全保障,而这在以前需要额外的类型库或接口定义语言(IDL)。 CLR根据托管组件的来源(如互联网、企业局域网、本地机器)等因素确定各组件的信任度,并根据信任度来限定它们执行诸如读取文件、修改注册表等敏感操作的权限。 此外,CLR借助通用类型系统对代码类型进行严格的安全检查,可以避免不同组件之间可能存在的类型不匹配问题。 通过代码访问安全机制,开发人员可以为应用程序指定完成工作所必需的权限。 CLR不仅规定了代码访问安全,还规定了基于角色的安全。 基于角色的认证为互联网上分布式组件的执行提供了安全保证。 值得指出的是,CLR通常寄宿在其他高性能服务器的应用程序中,比如互联网信息服务器(IIS)、SQL Server数据库服务器等。 这样,开发者可以充分利用CLR诸多安全、高效的优点来部署自己的商业逻辑。 类库——组件和服务的家园 Framework类库由一组广泛的、面向对象的、可被开发者用于任何编程语言的可重用类集合组成。 它提供了几乎所有应用程序都需要的公共代码;在此之上是许多应用程序模板,这些模板为开发网络站点和网络服务提供特定的高级组件和服务,不管是传统的命令行程序还是Windows图形界面程序,亦或是面向下一代互联网分布式计算平台的或Web服务应用。 与在Windows和它的SDK中发送的代码库一样,框架类库将程序员从繁重的编程细节中解放出来,而专注于程序的商业逻辑。 它将核心Win32 API最常用的功能和外挂SDK的功能封装到了一个统一的包中,并采用清晰而有条理的方式对类库进行分组和描述,这样开发者就能够更方便地找到其应用程序所需要的大多数功能。 下面是它所提供的一些核心服务: 系统框架服务 服务框架包括一套开发人员希望在标准语言库中存在的基类库,如集合、输入/输出、字符串、数据等基类。 基类库还提供访问操作系统服务的类,如图画、网络、线程、加密等类型。 此外,服务框架也包括数据访问类库以及开发工具。 组件 为基于网络的、可扩展的应用程序和服务提供数据访问服务。 它不仅支持传统的基于链接指针风格的数据访问,而且对于更适合于把数据返回到客户端应用程序的无链接数据模板,它也提供高性能的访问支持。 XML数据组件 通过它开发人员可以对任何数据进行XML转换、传输和确认,所有数据都可以被看做是XML格式的。 同时,系统也支持数据与XML数据之间的通用转换。 Windows表单组件 Windows表单组件为开发人员提供了强大的Windows应用程序模型和丰富的Windows用户口,包括传统的ActiveX控件和Windows XP的新界面,如透明的、分层的浮动窗口。 对CLR的强大支持也是Windows表单组件令人兴奋的地方之一。 应用服务 的核心是其用于处理基于低级结构HTTP请求的高性能的运行语言,其编译运行的方式大大提高了它的性能。 使用基于构件的框架配制模板,因此它获得了诸如XCOPY配制、构件并行配制、基于XML配制之类的优点。 它还支持应用程序的实时更新,同时提供高速缓冲服务,以改善性能。 Web表单 Web表单把VB表单高效率的优点带到了Web应用程序的开发中。 Web单支持传统的将HTML内容与脚本代码混合的ASP语法,但是它提出了一种将应用程序代码和用户接口内容分离的、更加结构化的方法。 它提供一套映射传统HTML用户接口部件(包括列表框、文本框和按钮)的 Web表单控件和一套更加复杂的Web应用控件(如日历和广告转板)。
现在我将列举三种情况,在这三种情况下,你将会发现使用Webservice会带来极大的好处。 此后,我还会举出不应该使用Webservice的一些情况。 跨越防火墙的通信如果你的应用程序有成千上万的用户,而且他们都分布在世界各地,那么客户端和服务器之间的通信将是一个棘手的问题。 那是因为客户端和服务器之间通常都会有防火墙或者代理服务器。 在这种情况下,你想使用DCOM就不是那么简单了,而且,通常你也不愿意把你的客户端程序发布到如此庞大数量的每一个用户手中。 于是,你最终选择了用浏览器作为客户端,写下一堆ASP页面,把应用程序的中间层暴露给最终用户。 结果呢?运气好的话,只是开发难度大了一些,运气不好的话,就会得到一个根本无法维护的应用程序。 想象一下你应该怎么在你的应用程序里面加入一个新的页面:你必须先建立好用户界面(Web页面),以及在这个页面后面,包含相应商业逻辑的中间层组件。 这还不够,你还要再建立至少一个ASP页面,用来接受用户输入的信息,调用中间层组件,把结果格式化为HTML形式,最后还要把结果页送回浏览器。 要是客户端代码不再如此依赖于HTML表单,客户端的编程不就简单多了吗?还有,建立ASP页面的那一步可以省略掉吗?当然。 如果你的中间层组件是Webservice的话,你完全可以从用户界面直接调用中间层组件,从而省掉建立ASP页面的那一步。 要调用Webservice,你可以直接使用MicrosoftSOAPToolkit或这样的SOAP客户端,也可以使用你自己开发的SOAP客户端,然后把它和你的应用程序连接起来。 这样做,不仅可以缩短开发周期,还可以减少代码的复杂度,并增强整个应用程序的可维护性。 同时,你的应用程序也不再需要在每次调用中间层组件时,都跳转到相应的结果页了。 以我的经验来看,在一个用户界面和中间层有较多交互的应用程序中,使用Webservice这种结构,可以轻松的节省花在用户界面编程上的20%的开发时间。 这样做还有另一个好处,就是你将得到一个由Webservice组成的中间层,这一层是完全可以在应用程序集成或其他场合下被重用的。 最后,通过Webservice把你的应用程序的逻辑和数据暴露出来,还可以让其它平台上的客户重用你的应用程序。 应用程序集成企业级的应用程序开发者都知道,企业里经常都要把用不同语言写成的在不同平台上运行的各种程序集成起来,而这种集成将花费很大的开发的力量。 你的应用程序经常都需要从运行在古老的IBM主机上的程序中获取数据;或者再把数据发送到主机或UNIX应用程序中去。 即使是在同一个平台上,不同的软件厂商生产的各种软件也常常需要集成起来。 通过Webservice,应用程序可以用标准的方法把功能和数据暴露出来,供其它的应用程序使用。 例如,你有一个订单登录程序,用于登录从客户来的新订单,包括客户信息、发货地址、数量、价格和付款方式等信息。 同时,你还有一个订单执行程序,用于实际货物发送的管理。 这两个程序是来自不同软件厂商的。 一份新订单进来之后,订单登录程序需要通知订单执行程序发送货物。 通过在订单执行程序上面增加一层Webservice,订单执行程序可以把AddOrder函数暴露出来。 这样,每当有新订单到来时,订单登录程序就可以调用这个函数来发送货物了。 进而通过Webservice集成应用程序B2B的集成用Webservice集成应用程序,可以使你公司内部的商务处理更加自动化。 但当交易跨越了你的供应商和客户,突破了公司的界线时又会怎么样呢?跨公司的商务交易集成通常叫做B2B集成。 Webservice是B2B集成成功的关键。 通过Webservice,你的公司可以把关键的商务应用暴露给指定的供应商和客户。 例如,把你的电子下单系统和电子发票系统暴露出来,你的客户就可以以电子的方式向你发送购货订单,而你的供应商则可以以电子的方式把原料采购的发票发送给你。 当然,这并不是一个新的概念:电子文档交换(EDI)早就是这样了。 Webservice和EDI之间的主要区别在于,Webservice的实现要比EDI简单得多,而且Webservice是运行在Internet上的,在世界任何地方都可轻易实现,这样其运行成本就相对较低。 不过,Webservice并不像EDI那样,是文档交换或B2B集成的一套完整的解决方案。 Webservice只是B2B集成的一个关键部分,还需要许多其它的部分才能完成这个集成。 用Webservice来实现B2B集成的最大好处在于可以轻易实现互操作性。 只要把你的商务逻辑暴露出来,成为Webservice,你就可以让任何指定的合作伙伴轻松的调用你的商务逻辑,而不管他们的系统在什么平台上运行,使用的是什么开发语言。 这样就大大减少了花在B2B集成的上的时间和成本。 这样的低成本让许多原本无法承受EDI的投资成本的中小企业也能实现B2B集成。 软件重用软件重用是一个很大的主题,它有很多的形式和程度。 最基本的形式是源代码模块或者类一级的重用。 另一种形式是二进制形式的组件重用。 当前,像表格控件或用户界面控件这样的可重用软件组件在市场上都占有很大的份额。 但这类软件的重用都有一个很严重的限制:重用仅限于代码,而数据不能被重用。 原因在于你可以很轻易的发布组件甚至源代码,但要发布数据就没那么容易了,除非那些数据都是不会经常变化的静态数据。 而Webservice允许你在重用代码的同时,重用代码后面的数据。 使用Webservice,你不再像以前那样,要先从第三方购买、安装软件组件,再从你的应用程序中调用这些组件。 你只需要直接调用远端的Webservice就可以了。 举个例子,你想在你的应用程序中确认用户输入的邮件地址,那么,你只需把这个地址直接发送给相应的Webservice,这个Webservice就会帮你查阅街道地址、城市、省区和邮政编码等信息,确认这个地址的确在相应的邮政编码区域。 Webservice的提供商可以按时间或使用次数来对这项服务进行收费。 这样的服务要通过组件重用来实现是不现实的,因为那样的话你必须下载并安装好包含街道地址、城市、省区和邮政编码等信息的数据库,而且这个数据库还是不能实时更新的。 另一种软件重用的情况是把好几个应用程序的功能集成起来。 例如,你想要建立一个局域网上的门户站点应用,让用户既可以查询他们的联邦快递包裹,察看股市行情,又可以管理他们的日程安排,还可以在线购买电影票。 现在Web上有很多应用程序供应商,都在其应用中实现了上面的这些功能。 一旦他们把这些功能都通过Webservice暴露出来,你就可以非常轻易地把所有这些功能都集成到你的门户站点中,为用户提供一个统一的、友好的界面。 用Webservice来集成各种应用中的功能,为用户提供一个统一的界面许多应用程序都会利用Webservice,把当前基于组件的应用程序结构扩展为组件和Webservice的混合结构。 你也可以在应用程序中使用第三方的Webservice提供的功能。 你还可以把你自己的应用程序的功能通过Webservice提供给别人。 所有这些情况下,你都可以重用代码和代码后面的数据。 总之,Webservice将是软件重用的一种非常有力的形式。 什么时候不应该使用WebService一个对Webservice的完整介绍还应该包括什么时候不该用Webservice。 经过前面的介绍,我们知道了Webservice在通过Web进行互操作或远程调用的时候是最有用的。 不过,还有许多情况,Webservice根本不能给你带来任何好处。 单机应用程序目前,我们还有很多桌面应用程序是供商用和个人使用的。 其中一些只需要与运行在本机上的其他程序通信。 在这种情况下,我们最好就不要再用Webservice,只要用本地的API就可以了。 COM非常适合于在这种情况下工作,因为它既小又快。 运行在一台服务器上的服务器软件也是这样:最好直接用COM或其他本地的API来进行应用程序间的调用。 当然Webservice也能用在这些情况下,但那样不仅消耗太大,而且不会给你带来任何好处。 局域网上的同构应用程序在许多应用中,你所有的程序都是用VB或VC开发的,都在Windows平台下使用COM,都运行在同一个局域网上。 例如,你有两个服务器应用程序需要相互通信,或者你有一个Win32或WinForm的客户程序要连接到局域网上的另一个服务器程序。 在这些程序里使用DCOM会比SOAP/HTTP有效的多。 类似的,如果你的一个程序要连接到LAN上的另一个程序,那么你应该使用。 有趣的是,在中,你也可以指定使用SOAP/HTTP来进行Webservice调用。 不过最好还是直接通过TCP进行RPC调用,那样会有效得多。 总之,只要你从应用程序结构的角度看来,有别的方法比Webservice更有效,更可行,那就不要再用Webservice。 总结Webservice是创建可互操作的分布式应用程序的新平台。 Webservice的主要目标是跨平台的可互操作性。 为了达到这一目标,Webservice是完全基于XML、XSD等独立于平台、独立于软件供应商的标准的。 Webservice在应用程序跨平台和跨网络进行通信的时候是非常有用的。 Webservice适用于应用程序集成、B2B集成、代码和数据重用,以及通过Web进行客户端和服务器的通信的场合。 当然,Webservice也不是万能的,你不能到处滥用Webservice。 在有些情况下,Webservice会降低应用程序的性能,而不会带来任何好处。 例如,一台机器或一个局域网里面运行的同构应用程序就不应该用Webservice进行通信。
WS-I为Web服务开发者提供了一系列宝贵的资源,以促进Web服务之间的互操作性和遵从其制定的标准。 这些资源包括了详细的规范、实用的应用示例以及用于验证的测试工具。
概要文档是WS-I的核心成果,它为Web服务的开发者提供了实现互操作性的具体指导。 WS-I已经正式发布的有Basic Profile,Attachments Profile和简单SOAP绑定Profile,而Basic Security Profile仍在制定中。 这些概要为开发者在实际应用中实现兼容性提供了明确的路径。
应用样本是WS-I的另一个重要组成部分,它们展示了如何在不同平台、语言和开发工具的环境下,遵从WS-I的指导方针构建互操作的Web服务应用。 目前,针对Basic Profile,WS-I已经提供了11个实用的示例,供开发者参考和实践,以便在各自的开发环境中遵循标准。
测试工具是确保Web服务消息交换符合WS-I规范的关键工具。 它们能够监控和分析消息,识别出潜在的互操作性问题。 这对于开发者来说至关重要,因为它们能帮助他们检测并纠正实现中的偏差和错误,从而提高不同应用和平台间的兼容性。 目前,WS-I已经开发出测试工具来验证与Basic Profile 1.0的兼容性,而对于其他WS-I profile的测试工具,开发工作仍在进行中。
扩展资料WS-I是Web Services Interoperability Organization的缩写,意为网络服务协同组织。 WS-I(Web Services Interoperability Organization)于2002年2月6日由包括微软、IBM、SAP、ORACLE、Intel等在内的9家IT行业领袖和46家公司联合宣告成立。 业界对于WS-I的关注首先在于对网络服务兼容性将带来的重要影响;另一方面,尽管该组织联合了众多竞争对手的参与,但是在网络服务技术方面作为微软公司最直接、最据威胁的竞争对手的SUN公司并未参与这项联盟。
Office SharePoint Server 2007 通过一个集成平台而不是依靠分散的系统来支持整个企业内的所有 Intranet、Extranet 和 Web 应用程序。 此外,该协作和内容管理服务器还为 IT 专业人员和开发人员提供了实现服务器管理、应用程序可扩展性和互操作性所需的平台和工具。 管理内容和流程 通过一组全面的管理及控制电子内容的工具来简化依从工作和保障业务信息更加安全。 通过使用电子表单和直接可用的工作流程来简化降低组织工作效率的日常业务流程,用户可以通过熟悉的 Microsoft Office 应用程序、电子邮件或 Web 浏览器启动、跟踪和参与这些电子表单和工作流程。 通过详尽的可扩展策略管理来控制文档。 定义自定义文档管理策略,以便在项目级控制访问权限,指定保留期和到期操作,并通过文档审核设置来跟踪内容。 与熟悉的客户端应用程序之间的策略集成使得依从工作对员工透明且更加简便。 与信息权限管理之间的集成可帮助确保更好地保护专有和机密信息,即使在未与服务器连接时也能更好地保护。 集中存储、管理和访问企业范围内的文档。 组织可在一个中心位置存储和管理所有的业务文档和内容,用户有一个统一的机制来浏览和查找相关信息。 可以修改默认的知识库设置,以便添加工作流,定义保留策略以及添加新的模板和内容类型。 简化 Web 内容的管理。 提供易用的功能来创建、审批和发布 Web 内容。 母版页和页面版式提供了可重复使用的模板以保证一致的外观。 新功能可以让企业将内容从一个区域发布到另一个区域(例如,从协作网站发布到门户),或者经济有效地管理多个 Intranet、Extranet 和 Internet 网站上的多语言内容交付。 扩展整个组织内的业务流程。 Forms Services 驱动的解决方案可以更安全准确地收集组织内外的信息,而无需编写任何自定义应用程序的代码。 随后,这些信息便可方便地集成到行业系统中,存储在文档库中,用于启动工作流程或者提交到 Web 服务,从而避免手动输入数据所带来的重复性工作和代价高昂的错误。 简化日常业务活动。 利用工作流使一些常见业务活动(例如文档审阅和审批、问题跟踪和签名收集)实现自动化并使它们更加直观。 与熟悉的 Microsoft Office 客户端应用程序、电子邮件和 Web 浏览器之间的集成简化了用户体验。 通过 Microsoft Office SharePoint Designer 2007(下一代 Microsoft Office FrontPage)或 Microsoft Visual Studio 开发系统等熟悉的 Microsoft 工具,组织可以轻松地修改直接可用的流程或者定义自己的流程。 提高业务洞察力有效地监控业务推动因素,实现整个组织内更合理的决策并主动响应重要的业务事件。 在一个中心位置提供业务关键信息。 创建实时交互式商业智能 (BI) 门户,这些门户可以通过使用仪表板、Web 部件、关键性能指标 (KPI) 及业务数据连接技术等集成 BI 功能来汇总和显示来自不同信息源的业务信息。 集中的报表中心网站可以让用户在一个位置找到最新的电子表格、报表或 KPI。 快速将人员与信息联系起来。 Office SharePoint Server 2007 Enterprise Search 将人员和业务数据与文档及网页合并起来,从而提供更加全面的结果。 搜索中心为员工提供了单一的集成位置,让他们查找与其特定需求相关的内容、流程、人员和业务数据。 这样,人员和组织便可以依据最新的信息和事实更快地做出决策。 广泛地共享业务数据,同时帮助保护敏感信息。 运行在 Office SharePoint Server 2007 上的 Excel Services 通过 Web 浏览器提供对实时交互式 Microsoft Office Excel 电子表格中的数据和分析的访问。 使用这些电子表格可以维护并有效地共享一个集中的最新版本,同时帮助保护任何嵌入在文档中的敏感或专有信息(如财务模型)。 利用非结构化业务网络帮助做出更好的决策。 员工可以使用全新的知识管理工具最大程度地利用其组织内外强大的非结构化业务网络,从而更加快速有效地将人员联系起来。 通过探究这些未记录的业务关系并查找主题内容方面的专家,每位用户都可以更快地做出更好的决策。 解除业务数据的锁定。 业务数据目录能够通过 Web 部件、列表、用户配置文件、搜索或编程方式将行业应用程序(如 SAP 和 Siebel 系统)中的结构化数据集成到 Office SharePoint Server 2007 中。 最终用户可以定义一次后端系统的集中管理连接,然后重新使用它们来访问后端数据而无需编写任何代码,轻松地使业务数据成为门户内容的一部分。 业务数据目录还为 Enterprise Search 提供了将后端业务数据集成到搜索体验中的功能,而不必编写任何协议处理程序、iFilter 或自定义代码。 简化内部与外部协作 在组织内外更加方便安全地共享知识、查找信息和协作。 通过合作伙伴和客户网络,利用您的个人网络高效地与其他人员建立联系。 加强与客户及合作伙伴之间的关系。 借助基于标准的、电子表单驱动的智能解决方案,您可以通过 Web 浏览器收集来自客户和合作伙伴的业务信息。 轻型目录访问协议 (LDAP) 集成以及对其他可插入身份验证提供程序的支持让非 Active Directory 目录服务源使用起来更简便,从而简化了 Extranet 设置,同时增强了与客户、合作伙伴和供应商之间的联系。 无处不在的 Enterprise Search。 Office SharePoint Server 2007 中的 Enterprise Search 具有很大的相关性,并且合并了人员和业务数据以及文档和网页等企业内容,从而提供更全面的结果。 由于和 SharePoint 网站、Web 部件、SharePoint 列表、用户配置文件及更多内容紧密集成,Enterprise Search 在 Office SharePoint Server 2007 中无处不在。 这样,用户在门户内浏览到任何位置时都可以查找他们所需的信息。 Enterprise Search 具有通过业务数据搜索的功能,并且搜索结果可以高度自定义,例如,显示后端记录的特定元数据元素。 随时随地任我工作。 通过对 SharePoint 列表和文档库的脱机访问和 Microsoft Office Outlook 2007,您可以从企业网络连接的限制中解脱出来。 与 Microsoft Office Groove Server 2007 的紧密集成进一步增强了用户的脱机体验。 连接和共享知识。 全新的知识管理工具使员工可以在组织内外创建并使用人员网络,从而更加快速有效地与其他人员连接和共享知识。 使操作个性化。 我的网站为每位用户提供一个专门网站,使用户拥有完全个性化的体验。 每个网站都可以用来以一种受控方式存储、提供、查看和管理内容、信息和应用程序。 每个网站还可用来提供与用户有关的信息,例如,技能和角色、同事和经理、该用户隶属的组和通讯簿以及该用户正在处理的文档等。 并且每个网站还包括严格的隐私控制和增强的安全机制,以便每位用户可以选择要提供的信息量及要提供的目标对象。 还可以彻底自定义我的网站以适应每个人的要求。 使 IT 具有战略影响力 通过一个集成平台来支持企业范围内的所有 Intranet、Extranet 和 Web 应用程序,从而提高 IT 对业务需求的响应度,同时减少需要维护的平台数。 获得增强的互操作性支持。 Office SharePoint Server 2007 构建于可伸缩的体系结构之上,并且支持包括 XML 和简单对象访问协议 (SOAP) 在内的 Web 服务和互操作性标准。 Office SharePoint Server 2007 还具有大量开放的应用程序编程接口 (API) 以及针对列表和文档的事件处理程序。 这样便可与现有系统集成,并可以灵活地合并新的非 Microsoft IT 投资。 LDAP 集成支持其他可插入身份验证提供程序,使非 Active Directory 源的使用更容易。 直接可用的 WSRP 使用程序 Web 部件支持与其他符合 WSRP 的门户解决方案的集成。 使 IT 部门重点关注更多战略任务。 用户现在可以在不需要 IT 部门介入的情况下自行创建网站,启动工作流,自我提供应用程序,访问后端数据,在项目级定义安全性,还原删除的项目以及完成其他任务。 用户对 IT 部门的依赖性的下降提高了工作效率,并使 IT 部门可以致力于为组织提供真正的增值服务。 通过业务数据目录,您可以定义和部署业务应用程序配置,以访问驻留在后端系统中的数据。 企业用户可以重复使用此功能创建业务数据的个性化视图而不必开发任何自定义代码。 简化部署、管理和系统管理。 现在管理 Web 服务器场、部署新内容以及管理各网站之间的同步变得更加容易了。 部署可以采用自上而下或自下而上的方式进行。 利用公共网站的直接可用的网站启动器模板以及区域和页面版式模板与预配置导航简化了网站暂存。 用于备份和还原内容的增强功能可以帮助 IT 专业人员计划备份,备份多网站集合,然后逐一还原。 可靠的系统监控、使用情况跟踪和监控工具。 这些工具有助于更快地确定和解决问题,同时也有助于提高系统基础设施的运行效率。
内容声明:
1、本站收录的内容来源于大数据收集,版权归原网站所有!
2、本站收录的内容若侵害到您的利益,请联系我们进行删除处理!
3、本站不接受违法信息,如您发现违法内容,请联系我们进行举报处理!
4、本文地址:http://www.jujiwang.com/article/2b1b49c8849b2a7dd985.html,复制请保留版权链接!
引言Windows系统文件可能会因各种原因而损坏,这会导致系统不稳定、崩溃或其他问题,为了解决这些问题,Microsoft提供了一个名为SFCScannow的实用程序,它可以扫描系统文件并修复损坏的文件,什么是SFCScannow,SFCScannow是一个命令行工具,它使用Windows资源保护,WRP,来扫描并修复受保护的操作系统...。
互联网资讯 2024-09-25 22:24:26
IIS,InternetInformationServices,是Microsoft开发的Web服务器,而PHP,HypertextPreprocessor,是一种流行的服务器端脚本语言,这两个技术已经存在多年,并且广泛用于为web应用程序提供支持,近几年来,IIS和PHP都发生了重大变化,增加了新特性和功能,在本文中,我们将探讨II...。
本站公告 2024-09-25 13:29:28
准备使用DIV和CSS将您的网站提升到一个新的境界吗,从基本的导航栏开始,到掌握高级技巧,我们的指南将指导您完成整个过程,基础,创建导航栏导航栏是任何网站的关键元素,让我们使用DIV和CSS创建一个简单的导航栏,HTML,<,divclass=nav>,<,ahref=class=nav,link>,首页<,a&...。
技术教程 2024-09-24 17:08:27
创建一个JavaScriptDate对象constdate=newDate,获取当前时区名称consttimeZone=date.getTimezoneOffset,将日期格式化为字符串constformattedDate=date.toLocaleDateString,打印输出console.log,`当...。
互联网资讯 2024-09-16 09:39:38
eCSS和空格CSS,层叠样式表,可以用于进一步控制网页上的空格,CSS允许设置元素之间的边距和填充,以及控制元素的文本对齐,通过使用CSS,可以创建更精细的视觉层次结构,p,margin,10px0,结论在HTML中使用空格可以创建视觉层次结构,从而改善网页的可读性和美观性,通过添加空格可以将内容分组、分离元素并强调重要信息,了解...。
技术教程 2024-09-14 14:54:58
u003c,strong>,选择与你的行业或利基市场相关的模板,你的网站目的,考虑模板是否满足你网站的功能需求,例如电子商务、博客或作品集,你的设计偏好,选择符合你品牌美学和风格的模板,响应式,确保模板是响应式的,以便在所有设备上正确显示,如何使用免费模板一旦你选择了合适的模板,你可以按照以下步骤进行操作,下载模板,从所选提供商处...。
最新资讯 2024-09-14 04:27:44
什么是MySQL数据库,MySQL是一个开源关系数据库管理系统,RDBMS,,由Oracle公司开发,它是一个可以在多种平台上运行的流行数据库,包括Windows、Linux和macOS,为什么使用MySQL数据库,开源且免费,MySQL是开源的,这意味着您可以免费使用和修改它,速度快,MySQL以其速度而闻名,即使在处理大量数据时也...。
最新资讯 2024-09-12 06:08:58
引言C语言是一种功能强大的编程语言,广泛用于开发操作系统、嵌入式系统和高性能应用程序,为了有效地利用C语言,选择一款功能强大的编辑器至关重要,本文将探讨编辑器中隐藏的功能和高级设置,帮助您释放C语言编码的全部潜力,集成开发环境,IDE,与文本编辑器在开始之前,有必要区分集成开发环境,IDE,和文本编辑器,IDE提供了全面的工具集,包括...。
技术教程 2024-09-08 10:00:38
作为一名程序员,我们的职业生涯就像一段代码,由一行行的代码组成,每一行代码都代表着我们的一段经历,从最初的学习到后面的工作实践,我们不断地编写、调试和改进我们的代码,就像我们不断地完善和成长我们的人生一样,旅程的起点,学习程序人生的起点是学习,我们学习编程语言、数据结构和算法,就像我们学习一门新的语言,这一阶段就像代码中的初始化部分,...。
互联网资讯 2024-09-07 15:46:22
滚动图片是网页设计中一种越来越流行的趋势,它们可以为您的网站增添动态感和视觉趣味性,并有助于提高用户参与度,在本文中,我们将探讨滚动图片的未来趋势,并为您提供一些提示,以便将它们有效地融入您的网页设计中,视差滚动视差滚动是一种滚动图片技术,它能创建一种景深错觉,当用户向下滚动页面时,背景图像以不同的速度移动,营造出三维效果,这种技术可...。
互联网资讯 2024-09-06 22:02:56
HTML结构导航菜单由几个HTML元素组成,包括,<,nav>,定义导航区域<,ul>,创建无序列表,即菜单项,<,li>,定义列表项,即各个菜单项,<,a>,创建链接,即菜单项指向的页面,以下是一个简单的HTML导航菜单结构,<,nav>,<,ul>,<,li>,<...。
技术教程 2024-09-05 08:53:17
随着越来越多自建所工具的出现,网站建设的门槛不再那么高不可攀,不再是码农或大企业的专属,不了解技术或资金不多的普通学生也可以顺利生成自己的网站!那么,怎么制作自己的网页呢,下面与大家分享制作教程和保持网站质量的方法,初学者要想制作个人主页,需要找到简单的个人建设所系统,操作越少越好,例如,网上现成的网站模板很多,初学者可以直接应用模板...。
技术教程 2024-09-02 02:00:12