答案:SOA是现在非常热门的一个话题,许多公司都相继推出了自己的SOA产品,Oracle当然也不例外。我在这里要介绍的是Oracle SOA Suite 10.1.3.1 预览版。虽然正式版本还要有一两个月的时间才面世,相信这个预览版已经足够将大家带进SOA的真实世界了。
此预览版在Oracle OTN上可免费下载,同时还提供数篇参考文献。本文中的很多内容都源于这些参考文献,站在巨人的肩膀上总是好办事的。不过这些文档也有不尽如人意的地方,我曾经和几位作者联系过,改进了几个地方。每次从Oracle Employee树中查看他们的头衔,我总是冒着冷汗去写邮件,心里惴惴不安的担心他们会不会把我的信cc给哪个director或是VP级的人物,虽然后来发现他们都是很和善的家伙。
本文是翻译和原创的混合体,且把重点放在演示上,不会说很多的技术细节。
那就开始行动吧,相信你的旅程会是轻松愉快的。
搭建一个从开发到部署的完整的Oracle SOA环境,需要以下三个产品:
●Oracle数据库
支持版本有:9i、10g、olite和XE。
●JDeveloper(IDE)
下载地址:http://www.oracle.com/technology/software/products/jdev/htdocs/soft10131.html
JDeveloper是一款开发利器,里面不仅集成了Oracle自己的J2EE开发框架还提供了便捷的单元测试、Oracle数据库客户端和部署应用程序等功能。除了Oracle自己还有许多开源团队在不断奉献着精彩的plugin。但是坦白的说,Jdeveloper的性能不是十分理想,比较耗费内存,有时会发生窗口“白化”。我曾经问过几个Developer,他们给我的回答是:“一个东西功能太强大了,包含太多的东西,有时会…”,我知道这不是一个满意的答案,但是我清楚的知道,如果你将来的工作都是与Oracle的产品相关的话,JDeveloper绝对是正确的选择。这里我给出的,呵呵,应该Oracle官方给出的推荐的最小内存是512M。
● SOA Suite
下载地址http://www.oracle.com/technology/software/products/ias/soapreview.html
引用官方的一段话:
Oracle SOA Suite is a complete set of service infrastructure components for building, deploying, and managing SOAs. Oracle SOA Suite enables services to be created, managed, and orchestrated into composite applications and business processes. With Oracle SOA Suite"s hot-pluggable components, organizations can easily extend and evolve their architectures instead of replacing existing investments.
请关注“hot-pluggable”,我给它的解释就是“热插拔”,因为包括BPEL、ESB、RULES和EM等在内的component(组件)都是作为应用程序部署在OC4J上的,你可以随意的start、stop、deploy或deploy。
下面这张图是Oracle SOA SUITE的架构图
有关SOA的理论知识我就不多说了。你可以阅读有关书籍和文档。
第一部分:软件安装
数据库、JDeveloper和SOA SUITE可以安装在同一台机器上,也可以安装在不同的机器上。由于它们都是比较耗内存和CPU的,所以如果三者安装在一台机器上,建议最少提供1g的内存,2G或以上为佳。
本文选择安装在一台windows XP的个人电脑上。
DHCP情况的网络配置
如果你SOA SUITE将安装在有固定IP的机器上,可以忽略这一步。如果是DHCP方式的,就要做事先做一些配置,安装Lookback Adapter。
1、 通过ipconfig /all命令检查是否已经安装了Lookback Adapter,如果已经安装,可以直接进行第2步。
2、 在windows2000或windowsXP下安装的过程基本一致
1) 打开控制面板,选择添加新硬件
2) 选择手动添加网络适配器
3) 选择添加 Microsoft-lookback adapter
4) 打开网络连接面板,可以看到一个新创建的连接,例如“本地连接2”。配置属性:
其中IP可以是192.168.x.x (x可以为1到255之间的任意数字)或10.10.10.10,子网掩码必须是255.255.255.0,默认网关为空。
5) 重启机器
6) 在windows或winnt目录的system32driversetchosts文件中添加:ip_address hostname.domain hostname。
其中ip_address就是我们在d)中指定的,hostname和domain可以从系统属性中获得。
注意:OTN上有一篇详细的安装文档,里面把所有可能出现的情况都列举出来了,如果我在这里的叙述不能满足你的需要,可以参看那篇文档。
第二部分:安装数据库
SOA Suite可以安装在Oracle Enterprise Database、Oracle Standard Database、Oracle Express Edition或Oracle Lite(Olite)上。版本为9i以上(包括9i)。我在这里选用的是Oracle Enterprise Database 10.2.0.1。
安装过程非常简单,需要注意的是数据库的字符集,我推荐使用AL32UTF8。通俗的但可能不准确的说,AL32UTF8是所有字符集的超集,用它可以减小字符集转换的风险,也可以在同一个库中存不用语言下的字符。而如果使用ZHS16GBK时,存韩文或日文等的字符时就会garbage掉。
安装JDeveloper 10.1.3.1预览版
与SOA Suite 10.1.3.1配套,JDeveloper也推出了它的10.1.3.1 预览版,可以在Oracle OTN上下载:
http://www.oracle.com/technology/software/products/jdev/htdocs/soft10131.html
这是一个zip包,直接解压缩就可以使用了,启动程序jdevw.exe就在根目录下。
安装SOA SUITE的数据库schema
这里提前要说的是,SOA SUITE有两种安装模式:基本安装和高级安装。如果选择高级安装,则要预先在第1步创建的数据库中创建SOA SUITE安装需要的schema,其中包括ORABPEL、ORAESM和ORAWSM三个schema。
安装脚本就包含在预览版中,请在OTN上下载:
http://www.oracle.com/technology/software/products/ias/soapreview.html
这也是一个zip包,解压缩后,运行installsoa_schemasirca子目录下的irca.bat脚本,脚本会提示你输入以上三个schema的口令,这里我们假定都设为welcome0。
安装SOA SUITE 10.1.3.1 预览版
上一步已经下载并解压缩,下面运行根目录下的setup.exe。安装过程如下:
1、第一页
这一页是选择基本(basic)安装还是高级(Advanced)安装,两者没有本质的区别,基本安装是一键式安装:随意输入AS实例名,指定管理员(oc4jadmin)的口令并确认后点击“安装”后就可以完成安装。这里特别要提出的是,基本安装方式是不需要事先安装数据库的,它会在安装过程中自动创建一个Olite数据库。不幸的是,我们在平时shiphome的测试中,发现SOA Suite在Olite上总是会有一些小问题,所以推荐不要选择基本安装,而使用高级安装。
选择“高级安装”点击“下一步”,会弹出一个警告,选择“是”:
这时,安装窗口会短暂消失,然后出现下面这个进度条:
2、第二页
有四个安装选项:
我们要选择第一种,可以看出其他三种都是第一种的子集。如果你想让产品支持除英语和安装所在机器的语言(本例中为简体中文)外其他国家的语言,可以点击“产品语言”按钮进行选择。最直观的收益是,在安装后,根据你浏览器语言设置的不同,组件的访问界面可以显示出相应的语言,如果没有安装这种语言,缺省会显示英文。
3、第三页