科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道如何在ORACLE服务器中开发和布署企业级JavaBeans

如何在ORACLE服务器中开发和布署企业级JavaBeans

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

有二个因素正在驱动着商业应用程序发生根本性的变化。第一个因素,考虑的是如何开发程序;第二个因素,考虑的是如何布署程序。在另一方面,Internet商业的飞速增长,也正驱动着这些变化。Internet带来了新的商业模式,减少产品上市的时间。

作者:中国IT实验室 来源:中国IT实验室 2007年10月7日

关键字: 甲骨文 开发 数据库 ORACLE

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共2页)

有二个因素正在驱动着商业应用程序发生根本性的变化。第一个因素,考虑的是如何开发程序;第二个因素,考虑的是如何布署程序。在另一方面,Internet商业的飞速增长,也正驱动着这些变化。Internet带来了新的商业模式,减少产品上市的时间,而且显著改变了企业在开发、布署企业应用程序的方式。另一方面,对于分布式计算加速得到采用,Internet也提供了介质。Internet提供了标准协议,例如HTTP 和 IIOP,这些协议基于 TCP/IP,使用WWW浏览器作为接口,为应用程序提供了一致的访问途径。Internet已经创造了许多新的应用程序类型,例如:电子商务、自助服务程序,这些程序都要和传统的企业应用程序集成起来。

今天的IT架构和IT 应用程序,需要能够适应全球经济中迅速变化着的商业情况。开发、布署应用程序的传统方法,无法满足大多数IT部门的需求。

开发应用程序的传统方法不足的方面是什么呢?那就是劳动生产率水平不高。首先,传统的应用程序,没有给自己提供代码重用的能力。所以,不得不重新编写数量非常可观的代码段,才能适应新的应用程序。第二,许多研究已经表明:在客户-服务器的配置中布署应用程序,已经造成这些应用程序拥有成本的增长非常巨大。升级和维护客户-服务器应用程序,也是非常昂贵的任务。为了解决这些问题,越来越多的IT公司使用基于组件的开发方式开发新的应用程序,而且用网络计算模型布署这些应用程序。使用这些技术,有许多明显优势。

这份白皮书将讨论为什么公司正在使用基于组件的开发方式,以及如何在Oracle环境中开发和布署基于企业级JavaBean的应用程序。

企业级JavaBean (EJB) 是一种基于组件的分布式计算架构。企业级JavaBean 是面向事务的分布式企业应用程序组件。这份白皮书,是Oracle的Java技术白皮书的一部分,它描述了Oracle的Java虚拟机的架构和编程模型。

这份白皮书分成五部分:

讨论为什么基于组件的开发方法正在成为开发新应用程序的首选方法。它探讨了在加速基于组件开发方法被采用的过程中,Java所扮演的角色。
有关方面重要内容的概述:Oracle 8i的集成Java虚拟机,Oracle JServer,Oracle8i如何支持两种不同组件编程方法, CORBA和企业级JavaBean,用大规模和可靠的方式布署 Java应用程序。
描述了如何在Oracle8i 服务器中布署企业级JavaBean 。大体叙述了在Oracle数据库里开发、打包和布署EJB所必需的步骤。
探讨了Java和SQL间的互操作性,以及组件如何访问来自Oracle数据库的持久数据。
最后,探讨使用企业级JavaBean的好处,特别是在Oracle8i 服务器里布署它们的好处。


基于组件的开发
制造业在很久以前,就学会了组装产品生产的好处:把预先造好的产品组装起来,而不用从头开始一一制作部件。PC产业成功背后的一个原因,就是它拥有了现成的、能够轻松插在一起的组件,廉价地生产桌面计算机的能力。

可以用任何技术制作组件,有助于找到更多低成本、高质量的产品。使用预先制作、测试好的组件,还有助于减少产品面市的时间。这个概念同样适用于软件。基于组件的软件开发提供了许多好处,它使应用程序的开发更具有生产率:

*更好的设计和代码重用 - 允许用户重用商业逻辑。与在类级上重用应用程序相比,做成可重用组件,能更加有效地表达面向服务器的商业逻辑。
*更容易维护 - 改进了应用程序。因为它们在结构上划分成为具有简洁接口的可重用模块。
*更容易跨层布署 - 简化了布署的操作。因为组件能够透明地分布到多层环境里的网络服务器上。这为布署提供了显著的灵活性。
虽然软件业界做过多次尝试,但是,直到最近,用预先编制好的组件组装商业应用程序的承诺,仍然没有实现。面向对象的编程语言承诺了许多重用性,但是却在实现上失败了,因为它无法保证组件在二进制级上的互操作性。但是,开发人员能用预先制作好的组件组装应用程序的希望,重新燃了起来。组件技术,例如JavaBean、CORBA和微软的COM,提供了新的基础架构,让开发人员能够把不同开发商开发的组件组装成应用程序。

在过去的几年里,我们已经目睹了客户端组件的迅速增长。JavaBean和COM组件已经被广泛地用于组装基于GUI的应用程序。许多厂商为开发人员提供了工具,使用Bean或ActiveX控件,帮助开发人员迅速地组装客户端应用程序。但是,仍然缺少健壮的、大规模的服务器端组件模型。

服务器组件封装了能够布署在不同服务器的商业逻辑。组件提供服务,例如事务、安全、以及管理组件所需的消息传递。服务器组件很容易适应不断变化的商业规则,为了取得高可用性和规模性,跨越多种服务器进行布署。与客户端组件不同,服务器端组件使开发人员能够迅速地、用预先造好的组件组装起企业应用程序。这些组件典型地是事务性的,它们需要在某种服务器环境中运行,这种服务器环境能够扩大规模,满足今天关键任务应用程序提出的富有挑战性的需求。

有三种用于服务器端组件的模型正在迅速流行起来:

*企业级JavaBean (EJB)  -  一种跨平台的Java服务器端组件模型。企业级JavaBean 扩展了JavaBean 架构,提供了分布式组件架构。它允许开发人员把精力集中在开发商业逻辑上,把它们打包成组件,组件可以透明地布署在支持EJB平台的服务器里。利用会话管理、远程调用、事务、安全性和多线程,开发人员无需顾虑低级的系统编程问题。EJB 还让开发人员能够在一个平台上开发应用程序,不必担心如何布署EJB以及在哪里布署EJB。
CORBA  -  CORBA是对象管理小组(OMG)建议的一种基于标准的组件模型。它支持的开发环境,适于建立、布署、开发那些具有跨平台互操作能力的分布式对象应用程序。CORBA 对象用OMG的Internet Inter-ORB协议(IIOP)进行通信,IIOB是在Internet、intranet和企业计算环境中运行的分布式对象间通信的标准。*CORBA 组件用不同的语言编写,运行在不同的平台上,彼此之间能够透明地通信和互操作。
*分布式组件对象模型 (DCOM)  -  微软为Windows平台建立的专用的分布式对象模型。DCOM 扩展了微软的 COM 组件模型,它建立的组件,可以跨越网络,在桌面上相互操作。
这三种组件模型都依赖于基于多层、分布式对象的应用程序的开发和布署。在这份白皮书里,我们将介绍,如何在Oracle8i 数据库服务器里开发和布署EJB。

 

ORACLE JServer 虚拟机
Java的承诺:“一次编写,处处运行”,使它成为开发、布署intranet/Internet 应用程序的首选语言。超过400个应用程序已经被证实为是100%的纯Java应用程序。 Java使网络计算解决方案能够运行得更简单、成本更低,能够运行在以网络为中心的基础架构上。当Java 正在帮助IT部门降低商业应用程序的拥有成本时,由于它的高生产率,使它在应用程序开发人员当中,也成为一个非常流行的选择。除了现代、面向对象、平台无关和安全之外,Java 还提供了一个组件模型,让应用程序开发人员可以用组件建立起应用程序。目前在市场上,有多种工具可以使用,只需拖、放Javabean,就能建立起客户端 Java 应用程序。但是,迄今为止,在让服务器端应用程序利用这些强大实力方面,还没有什么进展。Java要想成功地变成服务器端应用程序的开发语言,Java 虚拟机需要具备规模性、安全性、可管理性和高可用性。

用于企业应用程序的JAVA -   一种服务器语言
Java最初流行的起源,是因为它具有以applet的形式,给Web页增加动态内容的能力。但是,Java 正在迅速地朝着它未来的主要用途(编写能够在客户-服务器环境或intranet/Interne环境中布署的企业和Internet 应用程序)进化发展着。许多因素解释了为什么Java会作为服务器语言而流行。

Java是一种安全的语言,所以,非常适合进行数据库集成。数据库是一个安全的环境,给多个关键任务应用程序提供基础。所以,Oracle不允许在数据库内运行危害数据库完整性的应用程序代码(用C编写的代码)。Java 是一种强类型语言,本身就支持数组和字符串,同时具有内置的内存管理支持。内建在Java语言里的垃圾搜集机制,把开发人员从分配、回收内存的工作解放出来,由此消除了内存崩溃和内存漏露的问题。

除了安全,Java 还使多层环境里真正的应用程序分区成为可能。因为Java 是与平台无关的,所以用Java开发的应用程序逻辑,能够布署到任何支持Java的服务器上。用Java编写的应用程序,不必重新编写,就能容易地在另外一台服务器上使用。企业利用这些好处,可以提高产品的上市时间,降低系统开发和管理的成本。

虽然Java是开发企业和Internet 应用程序的理想语言,但是目前在市场上,还没有企业级的Java 服务器。多数的服务器端 Java 应用程序在JavaSoft的Java 虚拟机或它的变体里运行。JavaSoft 的Java 虚拟机是作为客户端虚拟机开发的,它侧重于单用户环境。它不是为了运行企业应用程序而设计的,而且它也不能满足企业服务器的要求。它使用内置的多线程机制,提供了很有限的规模性。它不提供布署企业应用程序所必需的高性能、规模性、健壮性和高可用性。客户端虚拟机由于下面一些原因,无法扩大规模:

 *单一对象内存 -  所有的对象,都是用一种“对象内存“类型建立的,所以,需要用垃圾搜集器进行扫描,这样做降低了性能,造成很差的规模性。
*通过线程达到的多用户规模 -  JDK Java 虚拟机使用轻量级线程达到了多用户的规模。当并发用户的数量变得非常巨大,超过10,000时,这种模型就没有办法很好地扩大规模。
*动态编译 -  Java 是一种解释语言,所以速度很慢。许多厂商已经努力提高Java程序的性能,采用了智能优化和即时编译(JIT)(只在执行前才编译字节码)等技术。由于 JIT 编译器在每次浏览器下载类的时候编译类,所以提供的性能提高很有限。
JIT 编译器的侧重点是快速编译技术。JIT对应用程序编译后的性能,重视较少。而且,这些优化在服务器环境下,作用发挥得不是很好,因为在服务器环境下,多数需要优化的代码,更多地是在布署阶段之前。在这种情况下,可以用粗线(coarse-grained)优化来提高性能,这超出了JIT编译器的作用范围。

实现一个大规模的Java 虚拟机是一项挑战,因为它不得不处理自动存储管理、多线程、动态装入等问题。Oracle Jserver的Java 虚拟机符合Sun的 Java 规范,它为布署企业和Internet Java 应用程序提供了最好的类服务器平台。

Oracle Jserver 的虚拟机设计,有下列特性:

*高性能 -  用于事务处理和决策支持应用程序
*规模性 -  支持非常巨大的用户数量
*高可用性 -  满足企业和Internet 应用程序提出的24 x 365 可用性需求
*可管理性 -  降低总拥有成本,提供高服务质量
*符合标准 -  任何标准的Java 程序都能布署在数据库里
随着Oracle8i 的发行,Oracle发布了Oracle JServer 虚拟机,这是一个服务器端的Java 虚拟机,它与JavaSoft规范100%兼容。它满足了布署服务器端关键任务应用程序的需求:一个大规模的、高可用的、易于管理的、安全的和高性能的Java虚拟机。使用Oracle Jserver,用Java开发商业逻辑,在大规模的Java平台上布署程序,公司就能真正认识到Java真正的强大实力。Oracle JServer 虚拟机运行在数据库引掣里 (图 1),赋予开发人员以多种编程模型建立应用程序的灵活性。虽然应用程序开发人员仍然可以使用传统的存储过程开发应用程序逻辑,但是熟悉基于组件的编程方法的开发人员,可以把应用程序写成CORBA对象,或者写成企业级JavaBean,然后在Oracle的 Java 平台上布署它们。


 

Java 也适合独立软件开发商(ISV)们编写的全新的软件类别,在Internet上提供大量的新服务。Oracle的企业 Java 平台将为这样的应用程序提供理想的布署载体,保证给Oracle的客户提供可供使用的最广泛的应用程序解决方案。

使用Oracle Jserver进行基于组件的开发
开发人员可以用两种不同的组件模型在Oracle8i Java 虚拟机里开发和布署 Java 应用程序。

CORBA
第一个:熟悉CORBA编程的开发人员可以用Java把商业逻辑开发成CORBA 对象,并把它们布署在Oracle8i 服务器里。因为数据库具有内嵌的Java ORB 和IIOP 解释器,所以可以把 Oracle8i 服务器作为大规模布署CORBA对象的基础架构。数据库支持各种不同的CORBA 客户,其中包括对浏览器的直接支持,比如Netscape 4.0,还直接支持中间层ORB。

由于布署在服务器上的CORBA 对象,运行在SQL和PL/SQL相同地址空间里,所以它们能够无缝地互操作,而且能有效率地访问SQL数据,中间不必经过任何网络迂回。

企业级JavaBean
另一个在Java程序员中占统治地位的组件模型是企业级JavaBean。带有Oracle JServer的Oracle8i支持标准的EJB 1.0 规范,但是Oracle提供了大量数据库方面的特殊功能,保证了它的实现是快速、大规模的和安全的。下面是企业级JavaBean的一些突出特性:

*高级抽象 -  企业级JavaBean比CORBA提供更高级的抽象,但却不要求开发人员具有高级的系统编程技能。
*无需外部IDL  -  企业级JavaBean 对于Java开发人员来说是最简单的,因为它具有纯Java的定义,这就免除了象CORBA和DCOM一样的对系统的依赖性。Java开发人员无需学习其它接口定义语言(IDL),就能定义他们所开发组件的接口。
*在容器内执行 -   EJB 在容器里执行。简单地说,容器提供了一个操作系统进程,或者线程,组件在容器提供的进程或线程里执行。客户组件通常在某种可视容器(例如窗体或Web页)里执行。服务器组件不是可视的,它运行的容器,由应用程序执行环境提供。应用程序执行环境是指:事务处理(TP)监视器,Web服务器或数据库系统。
*宣告式的编程模型 -  EJB 拥有一种简单的宣告式事务模型,它允许用户以宣告的方式指定事务的边界。在执行JavaBean的方法时,它们自动发生。
*跨服务器的移植 -  另外,EJB能够跨Java虚拟机移植。EJB事务服务器的概念,允许平台厂商用规模性、可靠性及原子事务的形式,给平台增加价值。
为了支持基于组件的编程,Oracle 在Oracle8i 发行版里集成了两个主要的组件:

遵循CORBA 2.0 规范的Java 对象请求中介(ORB)
扩展了面向SQL的侦听器/调度器架构,现在支持CORBA/IIOP。ORB 仅仅被用于IIOP 协议的互操作和对象激活,而数据库的多线程服务器 (MTS)内核,则为提供规模性进行了调整。MTS 架构以前已经得到证实,可以提供数十万并发用户的规模性。所以,我们的目标是在一个现有的、大规模的基础架构上,支持开放系统的Java API。Java ORB让用户可以使用CORBA的IIOP协议访问数据库服务器。可以用行业标准的IIOP协议调用在Oracle8i 数据库里布署的CORBA对象。调用之后,数据库服务器的行为,就象是CORBA 服务器。同样,来自数据的IIOP呼出(callout),使数据库可以充当标准的CORBA 客户并调用另一台服务器里的CORBA 对象。而且,RDBMS里的CORBA 设备,都是Java友好的设备,带有大量的自动化工具,例如自动的 “Caffeine” Java-到-IDL 编译器。

具有特别作用的对象适配器
数据库支持一个特别的对象适配器,它是为持久CORBA对象实现的。它充当了发布在RDMBS里的所有CORBA对象的目录,负责查找和激活CORBA 对象,并提供访问控制。关于如何在Oracle8i 服务器里实现CORBA对象的详细内容,会在另一份白皮书里介绍。

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾剧懓顪冪€n亜顒㈡い鎰矙閺屻劑鎮㈤崫鍕戙垽鏌i鐕佹疁妤犵偞鐗曡彁妞ゆ巻鍋撳┑陇鍋愮槐鎺楀箛椤撗勭杹闂佸搫鐭夌换婵嗙暦閸洖鐓涘ù锝夋敱閻繘姊绘担鍛婃儓妞ゆ垵鎳橀弻濠囨晲婢跺﹨鎽曢梺鍝勬祫缁辨洟鎮块埀顒勬煟鎼搭垳绉靛ù婊呭仦缁傛帡鎮欓鍌滅槇濠电偛鐗嗛悘婵嬫倶閻樼粯鐓忛柛顐ゅ枑閸婃劗鈧鍠栭…宄邦嚕閹绢喗鏅柛鏇ㄥ幗濠㈡垿姊虹拠鎻掑毐缂傚秴妫欑粋宥夊冀椤撶偟锛涢梺瑙勫礃椤曆囧礃閳ь剙顪冮妶鍡樺蔼闁告柨娴风划娆掔疀濞戞瑢鎷洪柣鐘充航閸斿苯鈻嶉幇鐗堢厵闁告垯鍊栫€氾拷

    婵犵數濮烽弫鍛婃叏閻戣棄鏋侀柛娑橈攻閸欏繘鏌i幋婵愭綗闁逞屽墮閸婂湱绮嬮幒鏂哄亾閿濆簼绨介柛鏃撶畱椤啴濡堕崱妤€娼戦梺绋款儐閹瑰洭寮诲☉銏″亜闂佸灝顑呮禒鎾⒑缁洘鏉归柛瀣尭椤啴濡堕崱妤€娼戦梺绋款儐閹稿墽妲愰幘鎰佸悑闁告粌鍟抽崥顐⑽旈悩闈涗粶闁哥噥鍋夐悘鎺楁煟閻樺弶绌块悘蹇旂懅缁綁鎮欓悜妯锋嫼閻熸粎澧楃敮鎺撶娴煎瓨鐓曢柟鎯ь嚟濞叉挳鏌熼钘夊姢閻撱倖銇勮箛鎾村櫝闁归攱妞藉濠氬磼濮樺崬顤€闂佸憡顨嗗ú鐔风暦婵傜ǹ唯闁靛/鍕弰濠电姷鏁告慨鎾晝閵堝洠鍋撳鐓庡籍鐎规洩缍€缁犳盯寮崒婊呮濠电姷鏁告慨鎾磹缂佹ɑ娅犳繛鎴欏灪閻撴洟鎮楅敐鍐ㄥ濠碘€茬矙閺屾洟宕惰椤忣厾鈧鍠曠划娆愪繆濮濆矈妲归梺閫炲苯澧悽顖ょ節瀵鎮㈤崗鐓庣檮婵犮垼娉涢敃銉モ枔婵犳碍鈷戦柛婵嗗閻忛亶鏌涢悩宕囧⒌妤犵偛鍟オ浼村醇濠靛牆骞愰梻浣呵归張顒傜矙閹惧箍浜归悗锝庡枟閻撶喖骞栧ǎ顒€鈧倕岣块幇顓犵闁告瑥顥㈤鍫熷仼婵犻潧鐗忛惌娆撴偣閹帒濡芥繛鍫ョ畺濮婃椽宕滈幓鎺嶇凹濠电偛寮堕悧鐘诲箖閳ユ枼妲堥柕蹇ョ磿閸橀亶鏌h箛鏇炰粶濠⒀傜矙閹瞼鈧綆鍋嗙粻楣冩煕椤愩倕鏋戦柛濠冨姈閹便劍绻濋崟顓炵闂佺懓鍢查幊鎰垝閻㈢鍋撻敐搴濈凹闁伙絼鍗冲缁樻媴鐟欏嫬浠╅梺鍛婃煥椤戝鐣烽敓鐘茬闁肩⒈鍓氬▓楣冩⒑闂堟稓绠為柛濠冩礋瀹曟﹢鍩€椤掆偓椤啴濡堕崱妤€顫囬梺绋块瀹曨剟鎯冮鍕拻闁稿本鐟ч崝宥夋倵缁楁稑鎳愰惌娆撴煙鐎电ǹ袥闁稿鎸搁~婵嬫偂鎼达紕鐫勯柣搴ゎ潐濞叉垿宕¢崘鑼殾闁告鍊i悢鍏尖拹闁归偊鍠氬▔鍧楁⒒閸屾瑧绐旀繛浣冲洦鍋嬮柛鈩冪☉缁犵娀骞栧ǎ顒€鐏柛娆忕箲閵囧嫰骞掗崱妞惧闂備礁鐤囬~澶愬垂閸ф鏄ラ柕澶嗘櫅楠炪垺淇婇悙鎻掆挃闁告垼顫夌换婵嬫偨闂堟刀鐐烘煕閵婏附銇濋柡浣割儔閺屟囨嚒閵堝懍娌繛锝呮搐閿曨亝淇婇崼鏇炲窛妞ゆ柨鍚嬮锟犳⒒娴e懙褰掝敄閸涙潙纾归柛锔诲幗瀹曞弶绻涢幋娆忕仼妤犵偑鍨烘穱濠囶敍濠垫劕娈紒鐐緲缁夊綊寮婚敐鍡樺劅闁靛骏绲介ˉ婵嗩渻閵堝繐顩柡浣筋嚙椤曪絿鎷犲顔兼倯闂佸壊鍋掗崑鍛搭敁閸ヮ剚鈷掑ù锝呮啞閸熺偤鏌熼幖浣虹暫鐎规洜澧楅幆鏃堚€﹂幋鐐存珨闂備焦瀵х换鍌炈囨禒瀣瀬闁糕剝銇滈埀顒佸笒椤繈顢楁繝鍌氼潬闂備焦妞块崢浠嬨€冮崱娆愬床婵炴垯鍨圭粻濠氭煛婢跺鐏╅柛鏂惧嵆濮婅櫣绮欏▎鎯у壉闂佸湱鎳撳ú顓烆嚕婵犳碍鏅查柛娑变簼椤秴鈹戦悙鍙夘棡闁告梹娲滄竟鏇㈠箮閼恒儮鎷洪梺鍛婄箓鐎氼厼锕㈤幍顔剧<閻庯綆鍋勯悘鎾煕閳哄啫浠辨鐐差儔閺佸啴鍩€椤掆偓椤斿繐鈹戦崶銉ょ盎闂佸搫娲ㄩ崑鐐哄闯濞差亝鐓冮悹鍥嚋閸旂喓绱掓潏銊﹀磳鐎规洘甯掗埢搴ㄥ箣濠靛棭鐎村┑锛勫亼閸婃垿宕濆畝鍕疇婵せ鍋撴鐐叉閻f繈宕熼銈忕床闂備胶绮崝娆忈缚瑜忕划濠囨晝閸屾稓鍘甸梺绋跨箺閸嬫劙寮冲鈧弻娑㈠棘鐠恒劎鍔梺璇″枤閸嬨倕鐣疯ぐ鎺濇晝闁绘ǹ浜惄搴ㄦ⒒娴e憡璐¢柛搴涘€濆畷褰掓偨閸撳弶鏅滈梺鍐叉惈閹冲繘宕愰崹顐e弿婵妫楁晶缁樹繆閹绘帞绉洪柡灞炬礋瀹曟儼顦叉い蹇e幘閳ь剚顔栭崰鏇犲垝濞嗘劒绻嗘慨婵嗙焾濡插ジ姊洪棃鈺冪シ闁稿骸纾Σ鎰板箻鐎涙ê顎撶紓浣圭☉椤戝懎鈻撻鐐╂斀闁宠棄妫楁禍婵堢磼鐠囪尙澧曟い鏇稻缁绘繂顫濋鐐扮盎缂備胶鍋撴刊鑺ャ仈閹间礁鐤鹃柨婵嗩槹閸嬧剝绻濇繝鍌氭殶閺佸牓姊虹拠鈥虫灍闁挎洏鍨介獮濠囨偐濞茬粯鏅㈤梺绋挎湰缁絿妲愰弻銉︹拺闁告繂瀚峰Σ鎼佹煟濡も偓鐎氭澘鐣峰┑鍥ㄥ劅闁挎繂娲g粭澶愭⒑缂佹ê濮夐柛搴涘€濋幃鈥斥槈閵忊€斥偓鍫曟煟閹邦垱纭剧悮姘舵⒑閸濄儱校闁挎洏鍨藉濠氬焺閸愨晛顎撻梺鑽ゅ枑濠㈡﹢锝為幒妤佸€甸悷娆忓缁€鍫ユ煕閻樺磭澧甸柕鍡曠椤粓鍩€椤掑嫬绠栭柍鍝勬噺閹偞銇勯幇鈺佲偓婵嬪箯婵犳碍鈷掗柛灞捐壘閳ь剙鍢查湁闁搞儜鍛闂佸壊鐓堥崑鍛村矗韫囨稒鐓欓柟顖涙緲琚氶梺鎶芥敱濮婂鍩€椤掆偓缁犲秹宕曢柆宓ュ洭顢涢悙鎻掔€梺绋跨灱閸嬬偤鎮¢姀鈥茬箚妞ゆ牗绮岄惃鎴犵磼鏉堛劌鍝洪柡灞诲妼閳规垿宕遍埡鍌傦妇绱撴担鎻掍壕闁诲函缍嗛崑浣圭濠婂牊鐓涚€广儱鍟俊鍧楁煃閽樺妲圭紒缁樼洴瀹曞ジ鎮㈤搹鍦帨婵犳鍠栭敃銊モ枍閿濆應妲堥柣銏⑶瑰婵囥亜閺傛儳瀚庨柍褜鍓氶崝鏇⑩€旈崘顔嘉ч幖绮光偓鑼嚬婵犵數鍋犵亸娆撳窗閺嵮呮殾婵炲樊浜滈悞鍨亜閹哄秹妾峰ù婊勭矒閺岀喖宕崟顒夋婵炲瓨绮撶粻鏍ь潖濞差亜绠伴幖娣灮閳规稒绻濈喊妯峰亾閾忣偅鎮欓柛妤呬憾閺岀喖鎮ч崼鐔哄嚒缂備緡鍋勭粔褰掑蓟濞戙埄鏁冮柨婵嗘川閻g厧顪冮妶鍡樺鞍婵$偠妫勯~蹇涙惞閸︻厾锛滃┑鈽嗗灠閹碱偊锝炲畝鍕€垫繛鍫濈仢濞呮﹢鏌涢幘瀵告噯闁诲繐鍟村娲川婵犱胶绻侀梺鍝ュУ瀹€绋跨暦閵忋倕绠瑰ù锝呭帨閹锋椽姊洪崨濠冨鞍鐟滄澘鍟粋宥嗙鐎n偆鍘遍柣搴秵娴滄粓顢旈銏$厵妞ゆ梹鏋婚懓鍧楁煛娴gǹ鏆g€规洘甯掗埥澶婎潩椤掆偓缁犵偤姊绘担绛嬪殭闁告垹鏅槐鐐哄幢濞戞ḿ锛涢梺绯曞墲钃辨繛鍛У閵囧嫰骞掗幋婵冨亾閼姐倕顥氬┑鍌氭啞閻撴洟鎮橀悙鎻掆挃闁宠棄顦辩槐鎺戭渻閿曗偓濞诧箓鎮″▎鎾寸厽闁绘柨鎲$欢鍙夈亜韫囷絽寮柡宀€鍠栭幃鈩冩償閵忥絿顢呴梻浣烘嚀瀵爼骞愰崘鑼殾闁绘柨鍚嬮ˉ鍫熺箾閹寸偟鎳勯柣婵撶節濮婂宕掑顑藉亾閹间礁纾瑰瀣捣閻棗銆掑锝呬壕濡ょ姷鍋為悧鐘汇€侀弴銏犖ч柛灞剧煯婢规洖鈹戦鐭亜鐣烽鍕偍閻庣數纭堕崑鎾舵喆閸曨剛顦ョ紓鍌氱Т閿曨亜顕f繝姘耿婵°倕锕ら幃鎴︽⒑閸涘﹣绶遍柛銊ф櫕濡叉劙鏌嗗鍡欏幗闁硅壈鎻槐鏇㈡偩椤撱垺鐓曢幖娣妺閹查箖鎸婂┑鍠㈠綊宕楅崗鑲╃▏缂佺偓宕樺▔鏇㈠焵椤掆偓缁犲秹宕曢柆宓ュ洦瀵肩€涙ê浜楅梺鍝勬储閸ㄦ椽鎮″☉銏$厱闁靛绲介崝姘攽閿涘嫬甯舵い顓″劵椤т線鏌涢妸銈呭祮婵犫偓娓氣偓濮婅櫣绱掑Ο鎾虫贡缁棃顢氶埀顒勩€侀弮鍫濋唶闁绘棁娅i弳銏ゆ⒒閸屾艾鈧兘鎮為敂閿亾缁楁稑鎳忓畷鏌ユ煕鐏炵虎鍤ゆ繛鎴烆焸閺冨牆宸濇い鎾跺Т楠炴帡姊绘担鍛婃儓婵炲眰鍨藉畷鐟懊洪鍛簵闂佸憡鍔︽禍婵嬪窗閹邦厾绡€濠电姴鍊绘晶鏇犵磼閳ь剟宕奸悢绋垮伎濠碘槅鍨辩€笛呮兜妤e啯鐓㈤柛鎰典簻閺嬫盯鏌$仦鐐缂佺粯绋栭ˇ鏌ユ倵濮樺崬鍘寸€规洘鍨挎俊鎼佸煛閸屾瀚肩紓鍌氬€烽悞锕傛晪婵犳鍠栧ú锕傚Φ閸曨垰鍗抽柕濞垮劚缁秹姊虹化鏇熸澓闁搞劏妫勯锝夊箻椤旂⒈娼婇梺鐐藉劜閺嬪ジ宕戦幘缁樺仺闁告稑锕﹂崣鍡椻攽閻樼粯娑ф俊顐n殜閸┾偓妞ゆ帒鍊归崵鈧梺瀹狀嚙缁夌懓鐣烽崼鏇炍╅柨婵嗗閻╁酣姊绘繝搴′簻婵炶濡囩划娆撳箛閺夎法鐤呮俊銈忕到閸燁垶鎮″☉銏″€堕柣鎰版涧娴滃墽绱掗埀顒傗偓锝庡厴閸嬫挾鎲撮崟顒傤槹婵炲瓨绮岄悥濂稿Υ娴e壊娼ㄩ柍褜鍓熼獮鍐閿涘嫰妾繝銏f硾椤﹁鲸寰勯敓锟�

    重磅专题
    往期文章
    最新文章