The following sections provide information about WebLogic RFID Enterprise Server for use after creating a domain:
When configuring and tuning WebLogic RFID Enterprise Server, you have access to all the WebLogic Server administrative tools. For example, use the WebLogic Server Administration Console to view the list of WLRFID
libraries and applications under Deployments.
To access the WebLogic RFID Enterprise Server Consoles go to:
http://localhost:7001/enterprise
The following browsers are supported for accessing the GUIs provided with WebLogic RFID Enterprise Server 2.0:
Although both browsers are supported, there are some minor issues with support for Firefox. For example, when using the Edge Server Administration Console to edit an ECSpec, Firefox does not detect when you close the editing window. If you re-open the window, Firefox displays a message stating that you can have only one editing session at a time (you can click OK on the message window to open an editing session).
Because there are these minor UI issues, BEA recommends that you use Internet Explorer. However, you can access all RFID Enterprise Server features with Firefox, just be aware you might encounter some minor UI idiosyncrasies.
Whichever browsers you use, the configuration and requirements include:
Three message queues are provided in 2.0:
The EPCISMessages queue used in version 1.1 is also available in 2.0. Therefore applications that sent messages to this queue in Enterprise Server 1.1 can send continue to send messages to the same queue in Enterprise Server 2.0 without any modifications. This queue should operate seamlessly, assuming that security configurations are compatible between the sending and receiving systems.
The EPCISCapture queue is a new queue for capturing messages formatted for Enterprise Server 2.0.
The EPCISFailedMessages queue can hold messages of either type. When an error occurs during capture, a message is automatically moved to this queue after the number of retries is exceeded.
The 1.1 SOAP API is exposed in the 2.0 release. The URL for the 1.1 SOAP service is:
http://[host]:[port]/legacyepcis/LegacyEPCIS
(The inbound-message URL for the WebLogic RFID Enterprise Server 2.0 SOAP service is http://[host]:[port]/epcis/EPCIS
.)
For information about sending event data from WebLogic RFID Edge Server to WebLogic RFID Enterprise Server, see the Edge Server documentation at:
http://download.oracle.com/docs/cd/E13197_01/rfid/edge_server/docs21/workflow_reference/index.html
For information about the JMS queues used to capture incoming event data in WebLogic RFID Enterprise Server, see JMS Queues.
If you did not configure and initialize a database with the Configuration Wizard, you will need to do so before running Enterprise Server.
First, you will need to create the tables and populate them with the default data.
BEA_HOME/user_projects/domains/
your-domain
/config
directory, modify following properties in the kodo.properties
file in order to connect to your database (the example uses PointBase properties, set the properties for your database):javax.jdo.option.ConnectionDriverName:
com.pointbase.jdbc.jdbcUniversalDriver
javax.jdo.option.ConnectionURL: jdbc:pointbase:embedded:ent_server;new
javax.jdo.option.ConnectionUserName: es
javax.jdo.option.ConnectionPassword: es
Note: | If you configured your database using the Configuration Wizard, these properties should already be set correctly except for the password, which you should provide (you will delete the password after the database is initialized). |
#kodo.jdbc.DBDictionary: oracle (TimestampTypeName=TIMESTAMP)
Note: | If your are initializing a SQL Server database for use with Enterprise Server, make sure that the database is configured with a case-insensitive collation option (for example, _CI); otherwise, the Enterprise Server database initialization scripts will fail. |
BEA_HOME/user_projects/domains/
your-domain
/bin
directory, run the following scripts to create the application tables and populate them with initial data:kodo.properties
file.ra.xml
file: BEA_HOME/user_projects/applications/your-domain/kodo.ear/kodo.rar/META-INF
ra.xml
, update the following fields as necessary:<config-property>
<description>The class name of either the JDBC java.sql.Driver,
or an instance of a javax.sql.DataSource to use to connect to
the data source.
</description>
<config-property-name>ConnectionDriverName</config-property-name>
<config-property-type>java.lang.String</config-property-type>
<config-property-value>
com.pointbase.jdbc.jdbcUniversalDriver
</config-property-value>
</config-property>
<config-property>
<description>The URL for the data source.</description>
<config-property-name>ConnectionURL</config-property-name>
<config-property-type>java.lang.String</config-property-type>
<config-property-value>
jdbc:pointbase:server://localhost:9092/ent_server
</config-property-value>
</config-property>
The username and password used to access the database are stored in a Credential Mapping in WebLogic Server. If you configured the database (but did not initialize it) using the Configuration Wizard, this Credential Map will be created the first time you start Weblogic Server. If you did not configure the database using the Configuration Wizard, a default Credential Mapping pointing to PointBase was created. You will need to delete that credential mapping and create a new one for your production database:
myrealm
(or the name of your security realm). type=<remote>, protocol=, remoteHost=jdbc:pointbase:server://localhost:9092/ent_server
jdbc:bea:oracle://localhost:1521;SID=es;
. Leave the other inputs blank.rfiduser
as the Local User, and specify the username and password that will be used to access the database as the Remote User and Password.
To change the database to which Enterprise Server is connected, make the following modifications.
First, modify properties in ra.xml
:
BEA_HOME/user_projects/applications/your-domain/kodo.ear/kodo.rar/META-INF
ra.xml
, update the following fields as necessary:<config-property>
<description>The class name of either the JDBC java.sql.Driver,
or an instance of a javax.sql.DataSource to use to connect to the
data source.
</description>
<config-property-name>ConnectionDriverName</config-property-name>
<config-property-type>java.lang.String</config-property-type>
<config-property-value>
com.pointbase.jdbc.jdbcUniversalDriver
</config-property-value>
</config-property>
<config-property>
<description>The URL for the data source.</description>
<config-property-name>ConnectionURL</config-property-name>
<config-property-type>java.lang.String</config-property-type>
<config-property-value>
jdbc:pointbase:server://localhost:9092/ent_server
</config-property-value>
</config-property>
Then, create a Credential Mapping for the new connection:
myrealm
(or the name of your security realm). jdbc:bea:oracle://localhost:1521;SID=es;
. Leave the other inputs blank.rfiduser
as the Local User, and specify the username and password that will be used to access the database as the Remote User and Password.
To change the username and password, but not the Connection URL, used to access a database, do the following:
myrealm
(or the name of your security realm). Note: | Write down the resource identifier information so you will have it available after you delete this identifier. |
rfiduser
as the Local User, and specify the username and password that will be used to access the database as the Remote User and Password.
Enterprise Server supports sending subscription results to AS2 destinations via Synchrony Gateway (formerly Cyclone Interchange 5.4). Subscription results are sent via JMS. Synchrony Gateway uses information in the StandardBusinessDocumentHeader or JMS headers portion of the EPCISDocument that is delivered to determine the AS2 trading partner to whom the subscription should be forwarded. Some basic configuration, outlined below, is required to configure Enterprise Server to send subscription results to AS2 destinations. For the specifics of creating a subscription to send to an AS2 trading partner, see Understanding the Event, Master Data, and Data Exchange Services.
BEA_HOME/user_projects/applications/
your-domain
/epcis-lib.ear/epcis-scheduler-ejb.jar/META-INF
ejb-jar.xml
file, uncomment and edit the defaultJMSProviderURL
entry as needed:<!-- optional entry for default JMS provider URL - uncomment this block and set the desired value
<env-entry>
<env-entry-name>defaultJMSProviderURL</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>t3://localhost:7001</env-entry-value>
</env-entry>
-->
as2JMSConnectionFactory
, as2JMSQueueName
, and as2JMSReceivingProperty
: BEA_HOME/user_projects/applications/
your-domain
/epcis-lib.ear/epcis-ejb.jar/META-INF
.ejb-jar.xml
file, modify the values for the following properties as needed:<env-entry>
<env-entry-name>as2JMSConnectionFactory</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>
weblogic.jms.ConnectionFactory
</env-entry-value>
</env-entry>
<env-entry>
<env-entry-name>as2JMSQueueName</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>cyclone-outbound</env-entry-value> </env-entry>
<env-entry>
<env-entry-name>as2JMSReceiverProperty</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>ReceiverRoutingId</env-entry-value>
</env-entry>
as2JMSConnectionFactory
is the connection factory that will be used to send JMS messages to the AS2 engine (weblogic.jms.ConnectionFactory
is an acceptable default).as2JMSQueueName
is the name of the JMS queue on which the AS2 engine is listening for incoming subscriptions.as2JMSReceiverProperty
is the name of the JMS header item where the trading partner's ID should be set. ReceiverRoutingId
is the correct value to use with Synchrony Gateway.ejb-jar.xml
, configure the static names and values of other items included in the JMS header of AS2 subscriptions.as2JMSHeaderItems
entry. To specify header items, uncomment the entry and edit the list:<!--
<env-entry>
<env-entry-name>as2JMSHeaderItems</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>ContentMimeType SenderRoutingId BusinessProtocol
DocumentClass BusinessProtocolVersion</env-entry-value>
</env-entry>
-->
ContentMimeType
as a value in as2JMSHeaderItems, uncomment the ContentMimeType
name and value entries and modify them as needed:<env-entry>
<env-entry-name>
as2JMSHeaderItem.ContentMimeType.name
</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>ContentMimeType</env-entry-value>
</env-entry>
<env-entry>
<env-entry-name>
as2JMSHeaderItem.ContentMimeType.value
</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>application/xml</env-entry-value>
</env-entry>
ejb-jar.xml
. Uncomment and modify the entries as needed:sbdhSenderIdentifier
entry and set the value to the identifier you want to include in the Standard Business Document Header as the identifier in the PartnerIdentification
element:<env-entry>
<env-entry-name>sbdhSenderIdentifier</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>...</env-entry-value>
</env-entry>
sbdhSenderAuthority
entry.BEA-EPCIS
value is simply a placeholder):<env-entry>
<env-entry-name></env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>BEA-EPCIS</env-entry-value>
</env-entry>
DocumentIdentification
element of the Standard Business Document Header, sbdhDocidStandard
sets the value for the standard
element, sbdhDocidTypeVersion
sets the value for the typeVersion
element, and sbdhDocidType
sets the value for the type
element. These may be omitted, in which case the corresponding fields will be omitted from the Standard Business Document Header. To use these entries, uncomment and edit them as required.
By default, the Company Prefix component uses the following URL when performing lookups:
The lookup location is controlled by an entry in BEA_HOME/user_projects/applications/
your-domain
/companyprefix-lib.ear\companyprefix-ejb.jar\META-INF\ejb-jar.xml
:
<env-entry>
<env-entry-name>epcIndexTableURL</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>
http://www.onsepc.com/ManagerTranslation.xml
</env-entry-value>
</env-entry>
To use a custom company prefix lookup table, change the URI value of env-entry-value
. For example, to use a local file named mytable.xml
for resolving company prefixes:
<env-entry>
<env-entry-name>epcIndexTableURL</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>
file:///c:/mytable.xml
</env-entry-value>
</env-entry>
Note: | In a cluster, using a local file may be an issue. |
Table 8-1 defines the global roles added during domain configuration.
Table 8-2 maps WebLogic RFID Enterprise Server components to these roles.
As shipped, each role is a member of group Administrators. You can modify the roles to fit your site's security policies. To view these roles in the WebLogic Server Administration Console, navigate to Security Realms your-realm Roles and Policies. In the Roles table expand Global Roles, then expand Roles. For more information, see Security Realms in Understanding WebLogic Security.
The following Consoles share the a session (BEARFIDENTERPRISE
) because the anticipated audience is business users:
The RFID Edge Server Administration Console shares a session (ADMINCONSOLESESSION
) with the WebLogic Server Administration Console because the target audience is technical users.
These settings can be modified by changing the session cookie setting in weblogic.xml
in each Web application.
For those applications that use BEARFIDENTERPRISE
:
<session-descriptor>
<cookie-name>BEARFIDENTERPRISE</cookie-name>
<sharing-enabled>true</sharing-enabled>
</session-descriptor>
For those applications that use ADMINCONSOLESESSION
:
<session-param>
<param-name>CookieName</param-name>
<param-value>ADMINCONSOLESESSION</param-value>
</session-param>
The following sections provide information about tuning WebLogic RFID Enterprise Server performance:
Your JVM settings will vary according to how you use Enterprise Server 2.0. A good starting point is to set your initial heap size equal to max heap size, and nursery size to 25% of max heap size. For example:
-Xms1024m -Xmx1024m -Xns256m
For more on information, see WebLogic Server Performance and Tuning at http://download.oracle.com/docs/cd/E13222_01/wls/docs92/perform/.
Depending on your system configuration and the size of your event repository, the default settings for database query timeouts may need to be adjusted. If you run a report, a query, or a subscription which results in a timeout exception on the console, you can modify two settings to give the query more time to run:
The default timeout for database transactions is 180 seconds. To modify that value, edit BEA_HOME/user_projects/applications/your-domain/kodo.ear/kodo.rar/META-INF/ra.xml
and modify the QueryTimeout
property:
<config-property>
<description>A comma-separated list of properties used to
configure the javax.sql.DataSource used as the ConnectionFactory.
Each property should be of the form "key=value", where "key" is the
name of some bean-like property of the data source.</description>
<config-property-name>ConnectionFactoryProperties</config-property-name>
<config-property-type>java.lang.String</config-property-type>
<config-property-value>
MaxActive=60, MaxIdle=10,QueryTimeout=180
</config-property-value>
</config-property>
You will also need to modify the transaction timeouts on the relevant EJB(s). The default timeout value is 30 seconds. To change it, modify the deployment descriptor(s) as outlined below and set the timeout values to values that are more appropriate for your system and usage.
For queries and subscriptions, modify the value for trans-timeout-seconds
in BEA_HOME/user_projects/applications/your-domain/epcis-lib.ear/epcis-ejb.jar/META-INF/weblogic-ejb-jar.xml
:
<weblogic-ejb-jar xmlns="http://www.bea.com/ns/weblogic/90" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<weblogic-enterprise-bean>
<ejb-name>EPCIS</ejb-name>
<stateless-session-descriptor></stateless-session-descriptor>
<transaction-descriptor>
<trans-timeout-seconds>600</trans-timeout-seconds>
</transaction-descriptor>
<enable-call-by-reference>true</enable-call-by-reference>
</weblogic-enterprise-bean>
<weblogic-compatibility>
<entity-always-uses-transaction>true</entity-always-uses-transaction>
</weblogic-compatibility>
</weblogic-ejb-jar>
For reports, modify BEA_HOME/user_projects/applications/your-domain/epcis-lib.ear/epcis-reports-ejb.jar/META-INF/weblogic-ejb-jar.xml
. Uncomment the highlighted lines and change the value for trans-timeout-seconds
:
<weblogic-ejb-jar xmlns="http://www.bea.com/ns/weblogic/90"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<weblogic-enterprise-bean>
<ejb-name>Reports</ejb-name>
<stateless-session-descriptor /><!--<transaction-descriptor>
<enable-call-by-reference>true</enable-call-by-reference>
<trans-timeout-seconds>500</trans-timeout-seconds>
</transaction-descriptor>-->
</weblogic-enterprise-bean>
<weblogic-compatibility>
<entity-always-uses-transaction>true</entity-always-uses-transaction>
</weblogic-compatibility>
</weblogic-ejb-jar>
Running large queries against a high-volume production database may have performance implications. See you BEA representative for more information.