Fusion Middleware 11g R1 PS4 发布

下载地址汇总

WebLogic Server  & JVM下载
JDeveloper下载
WebCenter Suite下载
UCM下载
SOA Suite下载
Service Bus下载
Web Tier下载
Data Integrator下载
在线文档下载

 

产品更新情况

据产品部门的同事说,这一版主要是修正了很多Bug,例如:WebCenter就修正了100多个Bug。并没有很多产品新特性。

WebCenter:
•  Overall performance and stress tolerance improvements
•  Activity Stream performance enhancements
•  Document approval work flow fixes
•  JSF Portlet Bridge bug fixes
•  Accessibility bug fixes
•  Pagelet Producer enhancements

UCM:
•  IRM Desktop support for Windows 7 64-bit
•  Internet Explorer 9 certification

What’s New

(完)

ORABPEL-30515与WebCenter Process Portal

现象描述:

配置完WebCenter Process Portal后,发现SOA Managed Server启动导常,报了很多错,截图如下:

error

BPM流程可以发布,但是不能创建实例。

解决方案:

打开%DOMAIN_HOME%\config\fmwconfig\system-jazn-data.xml文件,加入如下代码:

<grant>
    <grantee>
        <codesource>
            <url>file:${soa.oracle.home}/soa/modules/oracle.soa.workflow_11.1.1/bpm-services.jar
            </url>
        </codesource>
    </grantee>
    <permissions>
        <permission>
            <class>oracle.security.jps.JpsPermission</class>
            <name>VerificationService.createInternalWorkflowContext</name>
        </permission>
        <permission>
            <class>oracle.security.jps.service.policystore.PolicyStoreAccessPermission
            </class>
            <name>context=APPLICATION, name=*</name>
            <actions>getApplicationPolicy</actions>
        </permission>
        <permission>
            <class>oracle.security.jps.service.policystore.PolicyStoreAccessPermission
            </class>
            <name>context=SYSTEM, name=*</name>
            <actions>getConfiguredApplications</actions>
        </permission>
        <permission>
            <class>oracle.security.jps.service.policystore.PolicyStoreAccessPermission
            </class>
            <name>context=SYSTEM, name=*</name>
            <actions>getSystemPolicy</actions>
        </permission>
        <permission>
            <class>oracle.security.jps.service.credstore.CredentialAccessPermission
            </class>
            <name>context=SYSTEM, mapName=BPM-SERVICES, keyName=BPM-SERVICES
            </name>
            <actions>read</actions>
        </permission>
        <permission>
            <class>oracle.security.jps.service.credstore.CredentialAccessPermission
            </class>
            <name>context=SYSTEM, mapName=BPM-CRYPTO, keyName=BPM-CRYPTO</name>
            <actions>read,write</actions>
        </permission>
        <permission>
            <class>oracle.security.jps.JpsPermission</class>
            <name>IdentityAssertion</name>
            <actions>*</actions>
        </permission>
        <permission>
            <class>java.security.AllPermission</class>
        </permission>
    </permissions>
</grant>
<grant>
    <grantee>
        <codesource>
            <url>file:${ucm.oracle.home}/soa/modules/oracle.soa.workflow_11.1.1/bpm-services.jar
            </url>
        </codesource>
    </grantee>
    <permissions>
        <permission>
            <class>oracle.security.jps.JpsPermission</class>
            <name>VerificationService.createInternalWorkflowContext</name>
        </permission>
        <permission>
            <class>oracle.security.jps.service.policystore.PolicyStoreAccessPermission
            </class>
            <name>context=APPLICATION, name=*</name>
            <actions>getApplicationPolicy</actions>
        </permission>
        <permission>
            <class>oracle.security.jps.service.policystore.PolicyStoreAccessPermission
            </class>
            <name>context=SYSTEM, name=*</name>
            <actions>getConfiguredApplications</actions>
        </permission>
        <permission>
            <class>oracle.security.jps.service.policystore.PolicyStoreAccessPermission
            </class>
            <name>context=SYSTEM, name=*</name>
            <actions>getSystemPolicy</actions>
        </permission>
        <permission>
            <class>oracle.security.jps.service.credstore.CredentialAccessPermission
            </class>
            <name>context=SYSTEM, mapName=BPM-SERVICES, keyName=BPM-SERVICES
            </name>
            <actions>read</actions>
        </permission>
        <permission>
            <class>oracle.security.jps.service.credstore.CredentialAccessPermission
            </class>
            <name>context=SYSTEM, mapName=BPM-CRYPTO, keyName=BPM-CRYPTO</name>
            <actions>read,write</actions>
        </permission>
        <permission>
            <class>oracle.security.jps.JpsPermission</class>
            <name>IdentityAssertion</name>
            <actions>*</actions>
        </permission>
        <permission>
            <class>java.security.AllPermission</class>
        </permission>
    </permissions>
</grant>
<grant>
    <grantee>
        <codesource>
            <url>file:${wc.oracle.home}/soa/modules/oracle.soa.workflow_11.1.1/bpm-services.jar
            </url>
        </codesource>
    </grantee>
    <permissions>
        <permission>
            <class>oracle.security.jps.JpsPermission</class>
            <name>VerificationService.createInternalWorkflowContext</name>
        </permission>
        <permission>
            <class>oracle.security.jps.service.policystore.PolicyStoreAccessPermission
            </class>
            <name>context=APPLICATION, name=*</name>
            <actions>getApplicationPolicy</actions>
        </permission>
        <permission>
            <class>oracle.security.jps.service.policystore.PolicyStoreAccessPermission
            </class>
            <name>context=SYSTEM, name=*</name>
            <actions>getConfiguredApplications</actions>
        </permission>
        <permission>
            <class>oracle.security.jps.service.policystore.PolicyStoreAccessPermission
            </class>
            <name>context=SYSTEM, name=*</name>
            <actions>getSystemPolicy</actions>
        </permission>
        <permission>
            <class>oracle.security.jps.service.credstore.CredentialAccessPermission
            </class>
            <name>context=SYSTEM, mapName=BPM-SERVICES, keyName=BPM-SERVICES
            </name>
            <actions>read</actions>
        </permission>
        <permission>
            <class>oracle.security.jps.service.credstore.CredentialAccessPermission
            </class>
            <name>context=SYSTEM, mapName=BPM-CRYPTO, keyName=BPM-CRYPTO</name>
            <actions>read,write</actions>
        </permission>
        <permission>
            <class>oracle.security.jps.JpsPermission</class>
            <name>IdentityAssertion</name>
            <actions>*</actions>
        </permission>
        <permission>
            <class>java.security.AllPermission</class>
        </permission>
    </permissions>
</grant>

(完)

扩展WebCenter Space原理解析

为什么要扩展WebCenter Space?

我想这主要是基于以下三个方面的需求:

1. WebCenter Space本身提供的服务不足以满足客户需求

WebCenter Space基本上属于一个开箱即用的产品,随产品附带了大量的服务资源(例如:标签服务、文档服务等),但是要想满足客户的业务需求,光有这些还是不够的,还需要开发大量的业务服务资源。当然,我们可以开发基于WSRP或Oracle PDK的Portlet服务资源,但是,对于WebCenter来说,最高效的还是ADF Taskflow。那么,如何让ADF Taskflow融入WebCenter Space,这就需要对WebCenter Space进行扩展开发。

2. WebCenter Space个性化需求

WebCenter Space是一个自成一体的门户框架,她缺省就为我们提供了页面模板、样式等资源。这就意味着:工具条显示什么,登陆界面是什么外观这些都是产品提供好的。但是,往往客户需要一些个性化的要求,例如:经常有客户询问,如何在Banner上显示天气预报,如何在客户属性档案中加入“部门”字段,如何根据客户所在部门的不同显示不同的风格主题等。象这类属求也需要供助WebCenter Space扩展开发。

3. WebCenter Space内置资源服务定制

还有一种需求,就是对于WebCenter Space内置的服务资源定制化要求。例如:WebCenter Space提供了用于上传文档的Taskflow,但是有客户提出,能不能在上专文档的向导中加入其它工作流程。这种需求,也是需要Webcenter space扩展开发的。

WebCenter Space扩展依据的原理是这什么?

我们知道,WebLogic Server 9以后的版本引入了一个新的特性:共享库。这个特性产生的初忠是为了解决应用发布包轻量发布问题。举例来说:如果我们的一个WAR应用使用了ZK框架开发,那么每次打包时,我们不得不把ZK所有的依赖jar包一起打到包中,还有一个比较麻烦的就是需要将ZK相关的配置文件也打进包中。当然,如果只发布一次不会有什么问题,顶多是包比较大,发布慢一点。但是如果应用需要频繁更改,这就成问题了。那么能不能将这些共享包与配置文件分离出来,让应用包每次发布时只发布应用代码呢?这正是共享库所能提供的,也就是说将共用的Jar包也象应用一样发布出来,其它应用包只需要引用它就好了。

关于共享库详细内容请参考:Creating Shared Java EE Libraries and Optional Packages

WebCenter Space扩展正是使用了这个特性。其原理是,WebCenter Space缺省会引用共享库:extend.spaces.webapp.war。然后再在这个共享库应用中引用我们自已开发的共享库应用。这样,我们只需专注于开发我们自已的共享库应用(例如:Taskflow)即可,当我们发布我们的共享库应用后,其中的Taskflow自然会被WebCenter Space发现使用。如下图:

jpsdg_wcs_jws5

 

WebCenter Space扩展开发基本流程简述

jpsdg_wcs_over

要基于以上流程开发,首先要解决两个难题:

首先:我们要解决的是如何得到extend.spaces.webapp.war所对应的应用包,下载地址:DesignWebCenterSpaces.zip,我们所要做的就是将我们开发的共享库添加其中,如下图:

jpsdg_wcs_jws1

例:

<?xml version = '1.0' encoding = 'windows-1252'?>
<weblogic-web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                  xsi:schemaLocation="http://www.bea.com/ns/weblogic/weblogic-web-app/1.0/weblogic-web-app.xsd"
                  xmlns="http://www.bea.com/ns/weblogic/weblogic-web-app">
	<library-ref>
		<library-name>com.acme.custom.webcenter.spaces</library-name>
	</library-ref>
</weblogic-web-app>

其次:我们要解决的是如何制作一个共享应用让extend.spaces.webapp.war引用

这里有两种方式:

如果使用SampleWebCenterSpacesExtensions样例包,其开发过程变为:

sample

参考资料:

(完)

新版iPhone App for WebCenter Spaces发布

这一版最主要的更新是同时支持Oracle WebCenter Space 11g(11.1.1.3.0)与Oracle WebCenter Space 11g(11.1.1.4.0),即:PS2与PS3。并且,其界面也重新改造,更人性化,更方便用户使用。如下图:

mzl.wesrjhru.320x480-75 345313

345314 345316

新特性总结:

  • Support for PS3 (Patch Set 3 11.1.1.4.0) as well as PS2 (Patch Set 2 11.1.1.3.0) versions of Oracle WebCenter Spaces
  • Revamped user interface including a new springboard launcher interface
  • Search has been added for People Connections, files on your iOS device and (PS3 only) WebCenter resources on the server
  • Recent Items are tracked for People, Documents, Document Folders, Group Spaces, Discussions, Topics, Lists, and visited web links
  • Links in Activity Streams are now clickable
  • Easily post to your activity stream, including attachments and camera support
  • Improved status update interface in your user profile
  • Improved support for adding/updating your Connections with the native iOS Contacts app
  • Links to each person’s Manager and Reports, if available
  • People Connection Lists to view your Connections more efficiently
  • Recommended People Connections via Activity Graph (PS3 only)
  • Local file system support and “Open In…” (can save documents to your iOS device, open them in other apps, and have this app open docs from other apps)
  • Personal Documents support, both public and private, including the ability to upload, download, and delete
  • Printing of documents and web sites via AirPrint
  • Documents can be emailed as an attachment, or you can email a link instead
  • Playback of video and audio files
  • Easily post to a Group Space’s activity stream
  • Message Board support in each Space
  • Discussions has an improved user interface, including forward and back buttons for navigating messages
  • Bookmark your favorite items as icons on the main launcher screens and re-position them (for Group Spaces, People, Documents, Document Folders, Discussion Forums, Discussion Topics, and Lists)
  • “Quick Note” feature allows you to write text notes or record audio notes and save them in your Personal Documents on the server
  • Support for multiple servers through the new Accounts feature switch quickly between different servers or user credentials
  • Support for higher resolution “Retina” screen graphics and other iOS4.2+ features like printing and backgrounding

下载地址:Oracle WebCenter Spaces 11g Release 1

为Maven安装WebLogic Server插件

对Maven的支持是WebLogic Server 10.3.4的一个新特性,通过WebLogic插件,用户可以通过Maven实现对于对应用发布周期的管理。本文将介绍此插件的制作及使用的最佳实践。

1. 制作插件

进入%WL_HOME%/server/lib目录,执行如下命令

java -jar wljarbuilder.jar -profile weblogic-maven-plugin

此命令执行后将生成 weblogic-maven-plugin.jar文件,其中包括一个pom.xml描述文件指定如下信息

  • groupId=com.oracle.weblogic
  • artifactId=weblogic-maven-plugin
  • version=10.3.4
  • packaging=maven-plugin

2. 定制pom.xml配置文件

将weblogic-maven-plugin.jar中的pom.xml文件取出(可以借助winrar或7-zip等工具),放在%WL_HOME%/server/lib中。

如果安装插件成功后,执行命令需要输入很长的命令,例如:

shell>mvn com.oracle.com:weblogic-maven-plugin:deploy

为了避免此情况,需要做如下修改:

a. 修改%USER_HOME%/.m2/settings.xml(例如:在我的Win7上是c:/Users/gniu/.m2/settings.xml ),加入如下代码:

<pluginGroups>
	<pluginGroup>com.oracle.weblogic</pluginGroup>
</pluginGroups>

b. 修改%WL_HOME%/server/lib目录下的pom.xml文件,加入如下代码:

<plugin>
    <artifactid>maven-plugin-plugin</artifactid>
    <version>2.3</version>
    <configuration>
        <goalprefix>weblogic</goalprefix>
    </configuration>
</plugin>

c. 测试

shell>mvn weblogic:help

3. 安装插件

在%WL_HOME%/server/lib目录下执行如下命令:

shell>mvn install

shell>mvn install:install-file -Dfile=weblogic-maven-plugin.jar -DpomFile=pom.xml

4.  测试插件

创建mvn项目,此过程略,pom.xml文件如下:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>com.oraclefmw</groupId>
	<artifactId>sample-web</artifactId>
	<version>1.0-SNAPSHOT</version>
	<packaging>war</packaging>
	<name>sample-web</name>
	<url>http://www.oraclefmw.com</url>
	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
	</properties>
	<dependencies />
	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-war-plugin</artifactId>
				<version>2.1</version>
				<configuration>
					<failOnMissingWebXml>false</failOnMissingWebXml>
				</configuration>
			</plugin>
			<plugin>
				<groupId>com.oracle.weblogic</groupId>
				<artifactId>weblogic-maven-plugin</artifactId>
				<version>10.3.4</version>
				<configuration>
					<adminurl>t3://localhost:7001</adminurl>
					<name>sample-web</name>
					<user>weblogic</user>
					<remote>true</remote>
					<upload>true</upload>
					<password>welcome1</password>
					<source>target/sample-web.war</source>
				</configuration>
			</plugin>
		</plugins>
		<finalName>sample-web</finalName>
	</build>
</project>

部署应用测试

shell>mvn weblogic:deploy

5. 注意事项

看到Mark Nelson的博客有如下代码:

<pre class="xml" name="code"> <executions>
<execution>
    <id>deploy</id>
    <phase>pre-integration-test</phase>
    <goals>
        <goal>deploy</goal>
    </goals>
    <configuration>
        <source>target/wldemo.war</source>
    </configuration>
</execution>
</pre>

我也尝试为每个goal指定不同的configurations,但是未试成功,未找到解决方案,不知道他是怎么成功的。

参考资料

(完)