Skip Headers

Oracle® Application Server Syndication Services Developer’s and Administrator’s Guide
10g (9.0.4)
Part No. B10667-01
Go To Documentation Library
Home
Go To Product List
Solution Area
Go To Table Of Contents
Contents
Go To Index
Index

Previous Next

2 Administration of Syndication Services

Syndication Services administration includes the following tasks:

The sections that follow describe each of these administration tasks.

2.1 Completing a Postinstallation Configuration Task

Before you can begin using Syndication Services, you must set the Domain property, which is the domain name of the system where the Oracle Application Server infrastructure database is installed. See Section 2.2 for more information about setting this property.

2.2 Setting Syndication Services Properties

Before you can begin registering content providers and offers, managing subscriptions, and syndicating content, you must first set Syndication Services properties. At the Oracle Enterprise Manager Syndication Services Administration page, click System Properties. The System Properties page is displayed.

The properties on this page that must be set are: access logging, domain, scheduler status, HTTP/S transport, and SMTP transport. Table 2-1 describes all the Syndication Services properties and provides guidelines for the properties that must be set.


Note:

If you set any Syndication Services properties, a restart of the OC4J_Portal instance where the Syndication Services application is deployed is required for these settings to take effect.

Table 2-1 Syndication Services Properties

Property Description
General Properties
Instance ID Specifies the generated ID for this Syndication Services instance.
Instance Name Specifies the name of this Syndication Services instance.
User Agent Name Specifies the name of the user agent associated with this Syndication Services instance and is analogous to the HTTP User Agent name.
Access Logging (Must be set.) Enables or disables the collection of user access information. Set this to On if you want to enable the collection of user access information. Access logging records each user access to Syndication Services as an entry in the access log, which you can review and then purge as needed.
Domain (Must be set.) Specifies the domain name of the system where the Oracle Application Server infrastructure database is installed, using the following format, for example: us.oracle.com. The domain name is required by Syndication Services Administration pages when interacting with Oracle Delegated Administration Services pages for selecting users and groups of users, and granting them the subscribe privilege to offers.
Scheduler Configuration Properties
Scheduler Status (Must be set.) Indicates whether or not the scheduler is enabled to allow automatic push deliveries to occur. Set scheduler status to On to allow push deliveries to occur. See Section 2.9.4 for more information.
Timer Pool Size Specifies the number of concurrently active timers to be used by the scheduler. The default value is 16 timers. See Section 2.9.4 for more information.
Monitor Frequency (msec) Specifies how frequently the scheduler checks for new subscriptions that require content to be pushed. The default value is 60000 msec or 1 minute. See Section 2.9.4 for more information.
HTTP/S Transport Properties (Must be set.)
Proxy Host Specifies the name of the proxy server to perform content pushes to servers outside the firewall.
Proxy Port Specifies the port number for the HTTP proxy host.
Connection Timeout Specifies the length in seconds that Syndication Services will wait to establish a connection to the content source or repository before it returns a timeout message.
Wallet Location Specifies the location of Oracle Wallet Manager required to establish HTTPS connections for content pushes. See "Using Oracle Wallet Manager" in Oracle Advanced Security Administrator's Guide for more information.
SMTP Transport Properties (Must be set.)
SMTP Server Specifies the name of the SMTP server.
From Specifies the e-mail address of the sender to be used when performing content pushes through e-mail.
Subject Specifies the subject portion of the e-mail header to be used when performing content pushes through e-mail.

2.3 Understanding User Management

Oracle Application Server Syndication Services, 10g (9.0.4) uses Oracle Internet Directory (OID) of the Oracle Application Server infrastructure as the default user repository. This is achieved through the use of lightweight directory access protocol (LDAP)-based provider of Oracle Application Server Containers for J2EE (OC4J) Oracle Application Server Java Authentication and Authorization Service (JAAS). Syndication Services specific OID groups are located under the cn=syndication_groups subtree of the group subtree of the OID default subscriber. Syndication Services specific users are located under the user subtree of the OID default subscriber.

The types of Syndication Services groups are summarized in Table 2-2.

Table 2-2 Default Syndication Services Groups

Group Name Description
syndsubscribers Users under this group can ping the server, retrieve a catalog, create or change subscriptions, get events (activity associated with a particular subscription), retrieve subscription status, pull content related to subscriptions, and cancel subscriptions.
syndcps Users under this group can notify the server of any content updates on the content provider side. See Section 4.1.7 for more information about event push support.
syndschedulers This is an internal group defined by Syndication Services implementation. Administrators must not edit, add users to, or delete users from this group. This group performs push operations based on the subscription delivery rules.


Note:

Do not remove any of these default Syndication Services groups.

By default, the following users are created in an installation. Administrators can add or remove users to or from these corresponding groups as shown in Table 2-3.

Table 2-3 Default Syndication Services Users

Group Name User Names Comments
syndsubscribers syndication

portal_syndication


uddi_syndication
The sample subscribers. Administrators can add new users to this group.
The portal_syndication user is primarily used for portal integration. This user must not be removed.
The uddi_syndication user is primarily used for uddi integration. This user must not be removed.
syndcps sample_cps Sample content provider user. This user must not be removed.
syndschedulers syndscheduler The default scheduler user performs push operations. This user must not be removed.

Generic user management, such as creation, deletion, suspension, and so forth, is handled by OID and its Delegated Administration Service (DAS). Refer to Oracle Internet Directory Administrator's Guide for more information.


Note:

In DAS, the display name may be different from the actual name.

To grant Syndication Services access to existing OID users, use DAS to assign each user to the syndsubscribers group.

User management, including operations such as creation, deletion, suspension, role management, and so forth, is handled by OC4J Java Authentication and Authorization (JAAS) service. Refer to Oracle Application Server Containers for J2EE Services Guide for more information.

2.4 Registering and Managing Content Providers

Before you can create any offers to which users can subscribe, you must first register content providers that identify where the content exists. A content provider relies on a content connector, which is the software interface that is used for connecting to an external content repository and its resources. Content provider settings identify the specific location of the repository and any other essential characteristics of the repository. An offer can be created for each identified resource in the external content repository. Content providers denoted as available means that the class for that content provider has been found in the classpath.

For example, a file connector uses a file system as its content repository. The File Root Path setting defines the root location of the content. Every directory under the root directory is a content provider resource for which you can create an offer.

As another example, a WebDAV connector uses folders as its content repository. The DAV Root Content setting defines the base folder for the content. Every folder under the base folder is a content provider resource for which you can create an offer.

At the Oracle Enterprise Manager Syndication Services Administration page, click Content Providers. The Content Provider Management page is displayed.

At the Content Provider Management page, you can:

2.4.1 Review Content Connector Information

To review the list of available content connectors, click the Content Connectors tab. A Content Connectors page is displayed. You can review the list of available content connectors. Content connectors denoted as available means that the class for that content connector has been found in the classpath.

To view the properties of a content connector, either click the name of the content connector in the Name column, or click its radio button in the Select column and then click View. A Content Connectors page is displayed where you can review the name of the content connector, the description of the content connector, and the name of its Java class. When you are through reviewing this information, click OK to return the Content Connectors page.

2.4.1.1 Built-in Connectors

Syndication Services comes configured with the following content connectors:

  • FileConnector -- a connector that uses a file system as a content repository that defines a root directory as the root location of the content. Every directory under the root directory is considered to be a content provider resource for which an administrator can create an offer.

  • WebDAVConnector -- a connector that uses the distributed authoring and versioning (DAV) protocol to create bindings to a content resource. Every folder under the base folder is considered to be a content provider resource for which an administrator can create an offer.

  • UDDI connectors -- a set of nine preconfigured connectors from which an administrator can choose to create content provider resources, and subsequently create a set of offers. UDDI (Universal Discovery Description and Integration) publishers in the Oracle Application Server UDDI Registry can subscribe to these offers and monitor or obtain changes in the registry. For more information, see the UDDI Subscription Service information in Oracle Application Server Web Services Developer's Guide.

A Really Simple Syndication (RSS) sample content connector, including the full source file of this sample, can be downloaded from the Oracle Technology Network (OTN) Web site http://otn.oracle.com/tech/java/oc4j/demos/. This connector is described in Chapter 4, which takes a syndication feed (content updates) that an administrator can create for a content provider resource, from which an offer can be created, and to which users can subscribe. Appendix D provides a listing of the RSSCPAdaptor.java program that implements this connector.

Section 4.1 describes how to develop a new content connector and Section 4.2.1 describes how to install a new content connector.

2.4.2 Register Content Providers

To register a content provider, click Register Content Provider. A register content provider wizard displays the first Register Content Provider: Properties page.

  1. At the Register Content Provider: Properties page, enter the required properties for this content provider, such as its name, e-mail address of the owner of the content provider, and a brief description of the content provider. Then, click Next to continue to the Register Content Provider: Connector page.

  2. At the Register Content Provider: Connector page, select the content connector to be used to access this repository by selecting its radio button. Then, click Next to continue to the Register Content Provider: Set Up page.

  3. At the Register Content Provider: Set Up page, configure the content connector properties by entering the values required for registration, then click Finish to create the content provider and return to the Content Provider Management page.

2.4.3 Edit Content Provider Information

To edit content provider information, click the content provider name in the Name column that you want to edit, or select the content provider by clicking its radio button in the Select column, and then click Edit. The Edit Content Provider page is displayed. On this page, you can:

  • View the content provider name.

  • View the type of content connector.

  • Edit the e-mail address of the owner of the content provider.

  • Edit the description of the content provider.

  • Edit any content connector configuration settings.

2.4.4 Delete Content Providers

To delete a content provider, select the content provider by clicking its radio button in the Select column, and then click Delete. A warning message appears indicating that unregistering a content provider implies the deletion of all its offers. Click Delete to confirm.


Note:

You cannot delete a content provider if there are active (not expired and terminated) subscriptions that depend on offers based on its resources. In order to delete a content provider, you have to terminate all those subscriptions.

2.5 Creating and Managing Offers

After you have registered some content providers, you can begin the process of creating offers to which users can subscribe.

At the Oracle Enterprise Manager Syndication Services Administration page, click Offers. The Offer Management page is displayed.

At the Offer Management page, you can:

2.5.1 View the List of Content Providers

The list of content providers is displayed along with descriptions of the content providers.

2.5.2 View the Offers for a Content Provider

To view the offers for a content provider, select a content provider from the list by clicking its radio button in the Select column, then click View Offers. An Offers by Content Provider list page is displayed, which lists the offers for this content provider.

On the Offers by Content Provider list page, you can:

2.5.2.1 Edit the Properties of an Offer

To edit the properties of an offer, select the offer by clicking its radio button in the Select column, then click Edit. An Edit Offer page is displayed where you can edit:

  • General properties -- offer name, offer description, and the offer state: Active or Suspended.


    Note:

    Suspended offers will not be available for subscription.

  • Content Usage Properties -- Information Content Exchange (ICE) 1.1 standard properties: product name to which this offer belongs, name of the holder of the intellectual property rights, content status of the intellectual property rights (see Table 2-4); and content usage patterns (see Table 2-5). See Table 2-11 for more information about these offer properties. Syndication Services does not enforce these properties; the subscriber client application must handle them.

  • Content Provider -- name and resource name.

Table 2-4 Intellectual Property-Rights Categories

Category Description
Public Domain Indicates the content has no licensing restrictions.
Free with Acknowledgment Indicates the content has no licensing restrictions beyond a requirement to display an acknowledgment of the content source.
See License Indicates the content has restrictions as agreed to in an existing licensing agreement.
Severe Restriction Indicates the content has licensing restrictions that require special attention.
Confidential Indicates the content is confidential and must be protected.
Other Indicates the content has some other intellectual property-rights status not previously listed.

Table 2-5 Content Usage Pattern Categories

Category Description
Atomic Use Indicates that all the content to be delivered must be used, or none of it is to be used. The default is false (unchecked) and indicates that atomic use of the content is not required.
Editable Indicates whether the user (subscriber) may modify the information or must use it exactly as it is delivered. The default value is false (unchecked), which indicates that the content cannot be edited, and therefore must be used exactly as delivered.
Show Credit Indicates whether or not the user (subscriber) must prominently display attribution for the content source. The default value is false (unchecked), which indicates that the user is not required to acknowledge the source of the data.
Usage Required Indicates whether or not the syndicator expects its users to return usage data regarding the intended or ultimate viewers of the syndicated content.

2.5.2.2 Edit the Access List of Users and Groups Who Can Access the Offer

To select the users and groups to whom you want to grant subscribe privilege to this offer, select users by clicking the user icon, then click the desired user names. To select a group click the group icon, then click the desired group names.

Generic user management, such as creation, deletion, suspension, and so forth, is handled by OID and DAS. See Section 2.3 for a list of default groups and users created at installation. Refer to Oracle Internet Directory Administrator's Guide for more information.


Note:

The list of users and groups from which you can select are all the users and groups defined in OID. Remember that only users belonging to the syndsubscribers group can connect to Syndication Services to perform syndication operations. For more information, see Section 2.3.

If you use Netscape 7.0, selecting a user may result in no action; that is, the user is not selected. To work around this problem, use Internet Explorer 6.0 or later.


Next, you can change the contract you want to associate with the user and groups you selected by selecting the desired contract from the drop-down menu, and clicking Add to change it. You can revoke access to the offer for a user or group by clicking the delete icon for that specific user or particular group name. When you have finished granting or revoking users and groups access to this offer, click OK to save all changes and you will be returned to the Offer Management Offers page.

2.5.2.3 Delete an Offer

To delete an offer, click its radio button in the Select column, then click Delete. A warning message is displayed. Click Delete to delete the offer.

2.5.2.4 Create an Offer for a Content Provider

See Section 2.5.3 for more information.

2.5.3 Create an Offer for a Content Provider

To create an offer, click Create Offer. A create offer wizard displays the first Create Offer: Resource page.

  1. At the Create Offer: Resource page, select the content provider resource for which you want to create an offer by clicking the flashlight and selecting the resource. Resources from a content provider become available after registering the content provider (see Section 2.4.2). Then, click Next to continue to the next create offer wizard page.

  2. At the Create Offer: Properties page, specify the following information:

    • General properties -- offer name and offer description.

    • Content Usage Properties -- ICE 1.1 standard properties: name of the holder of the intellectual property rights, content status of the intellectual property rights (see Table 2-4): public domain, free with acknowledgment, see license, severe restriction, confidential, or other; content usage patterns (see Table 2-5): atomic use, editable, show credit, and usage required. These content usage properties are optional properties notifying users about possible restrictions associated with the usage of the offer content.

    Then, click Next to continue to the next create offer wizard page.

  3. At the Create Offer: Contracts page, select the users and groups to whom you want to grant access to this offer, then choose the contract you want to associate with selected users and groups. Select users by clicking the user icon, then clicking the desired user names. Select groups by clicking the group icon, then clicking the desired group names. Change access to the offer for a user or group by clicking the delete icon for that particular user or group name. When you have finished giving users and groups access to the offer, click Finish to create the offer.


Note:

The list of users and groups from which you can select are all the users and groups defined in OID. Remember that only users belonging to the syndsubscribers group can connect to Syndication Services to perform syndication operations. For more information, see Section 2.3.

2.5.4 Manage Contracts and Business Terms

At the Offer Management Contracts page, you can:

2.5.4.1 Edit a Contract

To edit a contract, click its radio button in the Select column, then click Edit. An Edit Contract General page is displayed. On this page, you can edit:

  • General properties -- contract name, contract description, and requires confirmation. Requires confirmation means whether or not confirmation of receipt of the content package is required before the next content package can be delivered to the user. A content package represents a single unit of content that is to be delivered.

  • Expiration policy -- expiration information for subscriptions based on this contract (see Table 2-6), such as the start and stop dates, including the time zone, and maximum number of deliveries for the subscription, and the expiration priority (see Table 2-7): time-based, quantity-based, first, or last.

    Table 2-6 Expiration Policy Categories

    Category Description
    Time Zone Indicates a geographical region within which the same standard time is used, usually designated by three alphabetical characters, such as EST to represent Eastern (United States) Standard Time.
    Start Date Indicates the date that delivery of content will begin. By default, this means the beginning of the day (00:00:00 AM).
    Expiration Priority Specifies the expiration criteria. See Table 2-7 for a detailed explanation of the possible values.
    Stop Date Indicates the date that delivery of content will expire. By default, this means the end of the day (23:59:59 PM). To specify an unlimited expiration policy, specify a time-based expiration priority and do not specify a stop date.
    Maximum Quantity Indicates the maximum value, expressed as an integer of value 0 or greater, for the number of allowed deliveries.

    Table 2-7 Expiration Priority Values

    Value Description
    Time-Based Indicates the subscription will expire when the stop date is reached.
    Quantity-Based Indicates the subscription will expire when the number of allowed deliveries is reached.
    First Indicates the subscription will expire when the stop date or the number of allowed deliveries is reached.
    Last Indicates the subscription will expire only when both the stop date and the number of allowed deliveries are reached.

  • Pull delivery rules -- Enable Pull Delivery selected: a set of controls delivers content to subscribed users, on demand. Pull delivery rules describe the daily time period during which content pulls are allowed (see Table 2-8), starting at the time specified and lasting for the duration specified. Specify the time zone, the start time in hours and minutes for pull content delivery, the total duration in hours and minutes for the delivery of content, and the days of the week or days of the month in which pull delivery is allowed.

    Table 2-8 Pull and Push Delivery Category Descriptions

    Category Description
    Time Zone Indicates a geographical region within which the same standard time is used, usually designated by three alphabetical characters, such as EST to represent Eastern (United States) Standard Time.
    Start Time Specifies the time (hour and minute) and AM or PM when the pull content delivery is to start. The start time by default is the beginning of the day (00:00 AM).
    Duration Specifies the total time in hours and minutes allowed for the content to be delivered. This value must not exceed 24 hours.
    Number of Updates Per Duration Specifies how frequently users will be updated with content within the specified delivery time window. Note that this option is for push delivery only.
    Days of Week Specifies the days of the week when content is to be delivered. If you wish to specify days of the week, select Only, and check the days of the week when content is to be delivered. Selecting Any means there are no limitations for daily delivery during the week.
    Days of Month Specifies the days of the month when content is to be delivered. If you wish to specify the days of the month, select Only and check the days of the month when content is to be delivered. Selecting Any means there are no limitations for daily delivery during the month. LAST means the last day of the month only.


    Note:

    If you want to limit content delivery to days of the week or days of the month, choose the appropriate option. If you choose to use both options together to limit content delivery, both conditions must be met. For example, selecting day of the week as M or Mondays, and days of the month as 3, will restrict content delivery only to all Mondays that are also the 3rd day of the month.

  • Push delivery rules -- Enable Push Delivery selected: a set of controls automatically delivers content to subscribed users on a time-based schedule. Push delivery rules describe the daily time period during which content pushes are allowed (see Table 2-8), starting at the time specified and lasting for the duration specified. Specify the time zone, the start time in hours and minutes for push content delivery, the total duration in hours and minutes for the delivery of content, the number of content updates allowed per delivery time period, and the days of the week or days of the month in which push delivery is allowed.


Note:

If you want to limit content delivery to days of the week or days of the month, choose the appropriate option. If you choose to use both options together to limit content delivery, both conditions must be met. For example, selecting day of the week as M or Mondays, and days of the month as 3, will restrict content delivery only to all Mondays that are also the 3rd day of the month.

2.5.4.2 Edit the Contract Business Terms

To edit the business terms of a contract, click the Business Terms tab. An Edit Contract Business Terms page is displayed. On this page, the terms and conditions that define the agreement that users must accept upon subscribing to the offer are defined. You can edit the name and description for your terms and conditions, and edit the agreement details associated with the contract. When you have finished making edits, click OK to save your changes, which returns you to the Offer Management Contracts page.

2.5.4.3 Delete a Contract

To delete a contract, click its radio button in the Select column, then click Delete. A warning message is displayed indicating that deleting a contract will also change the access policies for the associated offers. Are you sure you want to proceed? Click Delete to confirm the deletion of the contract.

2.5.4.4 Create a Contract

To create a contract, click Create. A Create Contract General page is displayed. On this page, you can create the contract by filling in the details, which include:

  • General properties -- contract name, contract description, and requires confirmation. Requires confirmation means whether or not confirmation of receipt of the content package is required before the next content package can be delivered to the user. See Section 2.9.2 for more information.

  • Expiration policy -- expiration information for subscriptions based on this contract (see Table 2-6), such as the start and stop dates, including the time zone, and maximum number of deliveries for the subscription, and the expiration priority (see Table 2-7): time-based, quantity-based, first, or last.

  • Pull delivery rules -- Enable Pull Delivery selected: a set of controls delivers content to subscribed users on demand. Describes the daily time period during which content pulls are allowed (see Table 2-8), starting at the time specified and lasting for the duration specified. Specify the time zone, the start time in hours and minutes for pull content delivery, the valid duration in hours and minutes for the delivery of content, and the days of the week or days of the month in which pull delivery is allowed.


    Note:

    If you want to limit content delivery to days of the week or days of the month, choose the appropriate option. If you choose to use both options together to limit content delivery, both conditions must be met. For example, selecting day of the week as M or Mondays, and days of the month as 3, will restrict content delivery only to all Mondays that are also the 3rd day of the month.

  • Push delivery rules -- Enable Push Delivery selected: a set of controls automatically delivers content to subscribed users on a time-based schedule. Push delivery rules describe the daily time period during which content pushes are allowed (see Table 2-8), starting at the time specified and lasting for the duration specified. Specify the time zone, the start time in hours and minutes for push content delivery, the total duration in hours and minutes for the delivery of content, the number of content updates allowed per duration period, and the days of the week or days of the month in which push delivery is allowed.


Note:

If you want to limit content delivery to days of the week or days of the month, choose the appropriate option. If you choose to use both options together to limit content delivery, both conditions must be met. For example, selecting day of the week as M or Mondays, and days of the month as 3, will restrict content delivery only to all Mondays that are also the 3rd day of the month.

2.5.4.5 Create the Contract Business Terms

To create the business terms of a contract, click the Business Terms tab. A Create Contract Business Terms page is displayed. On this page, the business terms that define the agreement that users must accept upon subscribing to the offer can be defined. You can enter the name and description for your business terms, and enter the agreement details associated with the contract. When you have finished entering the details of the business terms, click OK to save your changes, which returns you to the Offer Management Contracts page.

2.6 Managing Subscriptions

After users subscribe to an offer, a subscription is created. You can view the list of subscriptions on the Subscription Management page.

At the Oracle Enterprise Manager Syndication Services Administration page, click Subscriptions. The Subscription Management page is displayed. On this page, you can:

2.6.1 View or Edit a Subscription (General Information)

To view or edit a subscription, at the Subscription Management page, click the subscription name in the Subscription column that you want to edit, or select the subscription by clicking its radio button in the Select column, and then click Edit. The Edit Subscription General page is displayed. On this page, general subscription information is categorized into the following groups:

  • General Information -- subscribed user name, start date of the subscription, package sequence state, and the state of the subscription: Active, Suspended, or Terminated. The state of the subscription is the only subscription information you can change. To temporarily end a subscription, you can specify a state of Suspended. If a subscription is suspended, its user will not be allowed pull or push content deliveries until the subscription is reactivated. A subscription whose state is Suspended can be changed back to a state of Active. However, if you change the state to Terminated, you cannot change the state of the subscription back to Active. When the subscription state is set to Terminated, the subscription is permanently terminated and it can be purged only by clicking Purge Expired and Terminated on the Subscription Management page.

  • Confirmation -- whether or not confirmation of receipt of the content package for this subscription is required before the next content package can be delivered to the user.

  • Expiration Policy -- whether or not the expiration of the subscription is time-based or quantity-based or a combination of both (see Table 2-7 for a description of these expiration priority categories), the date and time the subscription expires, and the number of deliveries remaining for the subscription. See Table 2-6 for descriptions of these expiration policy categories.

  • Delivery Rules -- how content is to be delivered as either a pull or a push, or both. Pull delivery indicates users receive content on demand, while push delivery indicates content is automatically delivered to subscribed users based on a time-based schedule. For both pull and push delivery rules, the time zone is indicated along with a start time (hour and minutes). The total duration in hours and minutes allowed for the content to be delivered is specified. The days of the week or of the month in which the delivery is to occur are specified. Finally, the date and time when the last delivery was completed is also specified. For push delivery only, the number of updates allowed per day is also indicated. See Table 2-8 for a description of these delivery rule categories.

2.6.2 View or Edit Offer Information for This Subscription

To view or edit offer information for this subscription, at the Subscription Management page, click the Offer tab. The Edit Subscription Offer page is displayed. On this page, offer information about this subscription is categorized into the following groups. Note that you cannot edit any of these fields.

  • General information -- the offer description.

  • Content Usage Properties -- product name, the name of the holder of the intellectual property rights, the content status of the intellectual property rights (see Table 2-4); and content usage patterns (see Table 2-5).

  • Content Provider information -- name and the resource name.

2.6.3 Terminate a Subscription

To terminate a subscription, at the Subscription Management page, click the subscription name in the Subscription column that you want to terminate, or select the subscription by clicking its radio button in the Select column, and then click Terminate. The subscription’s state is changed to Terminated. Note that you cannot change the state of a subscription to Active once it is set to Terminated. You can purge only the subscription whose state is Terminated by clicking Purge Expired and Terminated on the Subscription Management page.

2.6.4 Purge Expired or Terminated Subscriptions

To purge expired and terminated subscriptions, at the Subscription Management page, click Purge Expired and Terminated. All expired and terminated subscriptions are removed form the list of subscriptions.

2.7 Reviewing and Purging an Access Log

With access logging enabled, you can review an access log that contains entries for each access operation performed by users who use Syndication Services.

At the Oracle Enterprise Manager Syndication Services Administration page, click Access Logs. The Access Logs page is displayed. On this page, a search form lets the administrator select a subset of entry records filtered by various criteria. Using the basic or the advanced search form (note the expanding link), the administrator can search access entries in the log by user, type of event (access or admin), subscription ID, and date-time range. The result of the search will always be limited to a maximum of 200 entries. Clicking GO with no values specified in the search form will result in a full list of system events. Select an entry by clicking its radio button in the Select column, and then click View. A View Log page is displayed. This page contains a detailed entry record for a particular user’s access to Syndication Services. Reviewing the details of this entry record can be useful for troubleshooting content delivery problems.

2.8 Monitoring Performance and Tuning

The Syndication Services servlet engine within syndserver.ear, and the associated JDBC connection pools to the Oracle Application Server Metadata Repository, can all be monitored using Oracle Enterprise Manager and other standard database monitoring and tuning utilities.

In an OC4J standalone environment, performance information is typically available at

http://<oc4j-host-name>:<port-number>/dmsoc4j/Spy

2.9 Performing Advanced Administration Tasks

This section describes some advanced administration tasks. Section 2.9.1 describes how Syndication Services administration features map to an ICE element and attribute for contracts and business terms, offers, and Syndication Services properties. Section 2.9.2 describes how confirmations work and Section 2.9.3 describes the negotiation process.

2.9.1 How Syndication Services Administration Features Map to ICE in Terms of Modeling

Section 2.9.1.1, Section 2.9.1.2, and Section 2.9.1.3 describe how Syndication Services administration features for contracts and business terms, offers, and Syndication Services properties are modeled to the ICE 1.1 element and attributes.

2.9.1.1 Contracts and Business Terms

Table 2-9 shows the mapping of contract properties by administrative field of the Syndication Services client API to the ICE element and attribute.

Table 2-9 Contract Properties Mapping

Administration Field Syndication Services Client API ICE Element and Attribute Notes
Name NA NA Only used by administrator to identify the contract.
Description NA NA Only used by administrator to describe the contract.
Requires confirmation NA NA Once selected, all subscriptions based on this contract will require confirmation for any package delivery. See Section 2.9.2 for more information.
Expiration priority Offer.getExpirationPriority() expiration-priority@ice-offer
Start date DeliveryPolicy.getStartDate() start-date@ice-delivery-policy
Stop date DeliveryPolicy.getStopDate() stop-date@ice-delivery-policy
Quantity Offer.getQuantity() quantity@ice-offer
Enable pull delivery NA NA Once selected, this will add a pull delivery rule in the corresponding ICE-offer.
Pull start time DeliveryRule.getStartTime() start-time@ice-delivery-rule DeliveryRule mode set to be PULL to differentiate from PUSH DeliveryRule.
Pull duration DeliveryRule.getDuration() duration@ice-delivery-rule DeliveryRule mode set to be PULL to differentiate from PUSH DeliveryRule.
Pull days of week DeliveryRule.getWeekDay () weekday@ice-delivery-rule DeliveryRule mode set to be PULL to differentiate from PUSH DeliveryRule.
Pull days of month DeliveryRule.getMonthDay() monthday@ice-delivery-rule DeliveryRule mode set to be PULL to differentiate from PUSH DeliveryRule.
Enable push delivery NA NA Once selected, this will add a push delivery rule in the corresponding ICE-offer.
Push start time DeliveryRule.getStartTime() start-time@ice-delivery-rule DeliveryRule mode set to be PUSH to differentiate from PULL DeliveryRule.
Push duration DeliveryRule.getDuration() duration@ice-delivery-rule DeliveryRule mode set to be PUSH to differentiate from PULL DeliveryRule.
Push number of updates per duration DeliveryRule.getMinNumUpdates() min-num-updates@ice-delivery-rule DeliveryRule mode set to be PUSH to differentiate from PULL DeliveryRule.
Push days of week DeliveryRule.getWeekDay() weekday@ice-delivery-rule DeliveryRule mode set to be PUSH to differentiate from PULL DeliveryRule.
Push days of month DeliveryRule.getMonthDay() monthday@ice-delivery-rule DeliveryRule mode set to be PUSH to differentiate from PULL DeliveryRule.

Table 2-10 shows the mapping of business terms properties by administrative field of the Syndication Services client API to the ICE element and attribute.

Table 2-10 Business Terms Properties Mapping

Administration Field Syndication Services Client API ICE Element and Attribute Notes
Name BusinessTerm.getName() name@ice-business-term
Business terms BusinessTerm.getText() text@ice-business-term
NA NA type@ice-business-term Always set to "licensing"

2.9.1.2 Offer Properties

Table 2-11 shows the mapping of offer properties by administrative field of the Syndication Services client API to the ICE element and attribute.

Table 2-11 Offer Properties Mapping

Administration Field Syndication Services Client API ICE Element and Attribute Notes
Name NA NA Used to identify the offer.
Description Offer.getDescription() description@ice-offer
Offer state NA NA Used by the administrator to control the state of the offer. Only offers whose state is active are visible to users when requesting a catalog.
Product name Offer.getProductName() product-name@ice-offer
Rights holder Offer.getRightsHolder() rights-holder@ice-offer
Intellectual property status Offer.getIPStatus() ip-status@ice-offer
Atomic use Offer.isAtomic () atomic-use@ice-offer
Editable Offer.isEditable() editable@ice-offer
Show credit Offer.hasShowCredit() show-credit@ice-offer
Usage required Offer.hasUsageRequired() usage-required@ice-offer
Content provider name NA NA Used to identify where this offer comes from.
Resource name NA NA Used to identify the resource associated with this offer from the content provider side.

2.9.1.3 Syndication Services Properties

Table 2-12 shows the mapping of Syndication Services properties by administrative field of the Syndication Services client API to the ICE element and attribute.

Table 2-12 Syndication Services Properties Mapping

Administration Field Syndication Services Client API ICE Element and Attribute
Instance ID Sender.getSenderID() sender-id@ice-sender
Instance name Sender.getName() name@ice-sender
User agent name Header.getUserAgent() ice-user-agent/ice-header

2.9.2 Description of Confirmations

Syndication Services delivers content in the form of packages and can request its users to confirm the correct delivery of a content package before the next one can be sent. As the server will send only the content updates since the last request, no new updates will be sent before the server receives a confirmation that everything sent so far has been correctly received and processed.

This implies that when the confirmation flag is set for a contract, all subscriptions depending on that contract will require users to send an explicit confirmation before they can receive new content. This behavior applies to both pull and push delivery rules. For example, if users try to pull content updates before sending a confirmation, Syndication Services will respond with the exception, ICE-602: Excessive confirmations outstanding. This is the default behavior.

The following two properties can be used to set bounds for not receiving content delivery confirmations from users, or for allowing users not to confirm or reject too many content deliveries between content delivery confirmations:

  • oracle.syndicate.server.delivery.max_outstanding_confirms

    Maximum number of outstanding confirmations -- for a given subscription that requires confirmation from the user (subscriber) of the delivery of a content package, this property defines the maximum number of content packages that will be delivered to the user following lack of confirmation. For example, setting a value of 5 means only 5 content packages will be delivered for this subscription following an unconfirmed delivery; the sixth and following deliveries will be suspended until a confirmation is received. See Section 2.9.5 for more information about this property.

  • oracle.syndicate.server.delivery.max_unconfirmed_packages

    Maximum number of unconfirmed packages -- for a given subscription that requires confirmation from the user (subscriber) of the delivery of a content package, this property defines the maximum number of unconfirmed or rejected content packages that are allowed between two delivery confirmations. For example, setting a value of 2 means that the user cannot leave a package receipt unconfirmed or reject more than 2 content deliveries between any 2 content delivery confirmations. This parameter can be used to prevent users from receiving more content package deliveries than their contract stipulates. See Section 2.9.5 for more information about this property.

2.9.3 Negotiation

Syndication Services lets users customize the offer at subscription time. The supported customizations are limited to the following modifications:

  • Users can select the set of delivery rules they would like to use for their subscriptions among those supplied in the offers. For example, if a user is presented an offer that features both the pull and push delivery rules, the user can decide at subscription time to subscribe only to the pull delivery rule, therefore omitting the push delivery rule from the subscription request.

  • Users can customize the push delivery rules by supplying the push URL (which can be based on http, https, ftp, or mailto), and the content delivery option (being ICE or non-ICE deliveries). If the URL provided requires authentication, users can provide the necessary credentials. See Section 3.8.3 for more information.

If the user modifies the offer supplied in the subscription request in any other form, Syndication Services will reject the request and reply with an exception, ICE-441: Counter-proposal.

2.9.4 Scheduler Configuration

Syndication Services features a scheduler component to manage time-based content pushes. The scheduler component is part of the Syndication Services J2EE application and is deployed with the Syndication Services installation. This section describes the operations of the scheduler and the properties that can be used to tune it.

2.9.4.1 Assign New Scheduler Rules

Upon the creation of a new subscription featuring a push delivery rule, Syndication Services stores a new scheduler rule in the Oracle Application Server Metadata Repository. A scheduler rule is used to compute the frequency of updates and their specific push date and time. The scheduler component will periodically check for new scheduler rules in the metadata repository. If a new scheduler rule is found, the scheduler will take ownership of that rule and start handling its tasks from that time on.

The monitor frequency system parameter, available on the System Properties page in Syndication Services administration, controls how frequently the scheduler component will check for new rules. The default monitor frequency value is one minute, which means that, at most, the push actions associated with a new subscription will be taken care of one minute after subscription creation. You can increase the monitor frequency if you want a more prompt handling of newly created subscriptions; however, this will result in more frequent round trips to the metadata repository, thus having an impact on the overall system performance.

2.9.4.2 Handle Scheduler Rules

Once a rule is owned by a scheduler instance, the scheduler component will compute date and time of the next push tasks and schedule a timer for them. The timer pool size system parameter, available in the System Properties page in Syndication Services administration, controls how many timers are concurrently active in each scheduler instance. The default value is 16, meaning that, at any point in time, the scheduler will have 16 active timers -- one for each of the next 16 push tasks across all the scheduler rules assigned to that instance. You can increase the size of the timer pool if you plan to have a high number of tasks close in time.

2.9.4.3 Recover Scheduler After System Shutdown or Restart

When Syndication Services is shut down (in a default installation that means shutting down the OC4J_Portal instance), the scheduler component will also be shut down. Scheduled push deliveries will not be executed while Syndication Services is shut down.

Upon restart, each Syndication Services scheduler instance will recover the scheduler rules assigned to it and resume the content push deliveries. If push actions were scheduled during the down time and therefore not executed, they will be performed in fast sequence upon restart before resuming normal operations.

If one OC4J instance goes down due to a software failure, it will be automatically recovered by Oracle Process Manager and Notification (OPMN) Server. Upon recovery, the scheduler rules associated with that instance will be recovered following the behavior just described.

2.9.4.4 Use of Syndication Services Scheduler in an Oracle Application Server Cluster

In a clustered environment where Syndication Services is deployed to more than one OC4J instance, all Syndication Services scheduler components will periodically check for new scheduler rules. However, once assigned, each scheduler rule is owned by one OC4J instance only. The assignment process distributes the scheduler rules uniformly across all available OC4J instances, thus achieving load balancing. Each OC4J instance will therefore own a set of scheduler rules; this means all OC4J instances must be up and running in order to handle all the scheduler rules.

The Syndication Services scheduler instance uses OC4J_ID to identify the ownership of rules to be scheduled. Whenever islands or OC4J instances where Syndication Services is deployed are removed, rules marked for those islands or OC4J instances must be released and taken over by other Syndication Services scheduler instances. Syndication Services uses the distributed configuration management (DCM) business rule framework to handle these cases. The DCM business rule framework allows components, such as Syndication Services, to register its plug-in and invoke corresponding methods when related events happen. The syntax to register the plug-in is:

$<MIDTIER_ORACLE_HOME>/dcm/bin/dcmctl registerplugin -f $<MIDTIER_ORACLE_HOME>/syndication/config/bizruleReg.xml

Once the plug-in is registered, Syndication Services will listen for any OC4J instance removal and island removal events. Whenever these events occur, the plug-in cleans up corresponding ownership flags and other Syndication Services scheduler instances subsequently pick up these rules.

2.9.5 Syndication Services Advanced Properties

This section describes several Syndication Services advanced properties. These advanced properties can be set only by following the procedure described in Section 2.9.5.1. These advanced properties include:

  • oracle.syndicate.transport.ftp.act_connect_mode -- an FTP transport property that lets you select active or passive FTPmode. Possible values are true or false. The default value is false or passive FTPmode.

  • oracle.syndicate.server.delivery.max_outstanding_confirms -- a property that defines the maximum number of content packages that will be delivered to the user (subscriber) following an unconfirmed delivery; further deliveries are suspended until the delivery is confirmed. Possible values are any positive integer. The default value is 1.

  • oracle.syndicate.server.delivery.max_unconfirmed_packages -- a property that defines the maximum number of unconfirmed or rejected content packages that are allowed between two delivery confirmations before deliveries are suspended. Possible values are any positive integer. The default value is 1.

2.9.5.1 How to Set Advanced Properties for Syndication Services

Advanced properties are used to fine tune the functions of Syndication Services. Customization of such parameters is expected to be uncommon, and therefore these properties cannot be set using the Oracle Application Server Syndication Services administration pages. These advanced properties must be set directly in Oracle Application Server Metadata Repository. The procedure to be followed to set these advanced properties involves opening a SQL*Plus session in the Oracle Application Server Metadata Repository and executing a SQL statement to set the preferred property value.In a UNIX environment, you can open a SQL*Plus session with the following set of commands:

cd <ORACLE_HOME>
setenv ORACLE_HOME <ORACLE_HOME>
setenv ORACLE_SID  <ORACLE_SID>
bin/sqlplus "sys/<sys_password> as sysdba"

In the SQL*Plus session, use the following command to set the session schema to the Syndication Services schema:

alter session set current_schema=dsgateway;

The PROPERTIES table contains the property name, value, and description of the properties used by Syndication Services. The current value for a property can be verified by performing a SELECT statement on the table.

SELECT propname, propvalue
FROM PROPERTIES;

Properties values can be updated using the following syntax:

update PROPERTIES set PROPVALUE = 'pvalue' where PROPNAME = 'pname';

New properties can inserted using the following syntax:

insert into PROPERTIES (PROPNAME, PROPVALUE, DESCRIPTION) VALUES ('pname', 'pvalue', 'pdesc');