As you may be aware, the primary way that data is represented within WebSphere Process Server is as a Business Object (BO). This is essentially a container that houses all the values of your data and can be manipulated or inspected within the various components that exist in WebSphere Process Server. This blog entry is to break down what needs to be understood about these Business Objects and how they are handled by WebSphere Process Server specifically. Please note, this entry is only directly applicable to EMF style BOs, not Lazy parsing style (this is new in version 7 of WebSphere Process Server).
The first thing to know is that Business Objects are represented as XML Schemas in WebSphere Process Server. For instance, if you are using the WebSphere Integration Developer (WID) to create your object, you can observe that once you have finished modeling your BO in the BO Editor, it has created an xsd file for you within the module. This is nothing more than an XML schema containing element and attribute declarations. These schemas can also exist directly in a wsdl file as well.
Regardless of where the schemas are defined (wsdls and xsds), the important aspect that differentiates the elements is their name as well as the namespace in which they are defined. What this means in the WebSphere Process Server world is that if there are multiple elements defined that have the same name and are defined in the same namespace this has potential to cause problems, even if the elements are defined in totally different actual files.
The reasoning for this is that when all these elements are loaded into the EMF system, which is what the BO as modeled in at runtime, these two things are what tells them apart. You can essentially think of a namespace as a big bucket in EMF. Every element and attribute that is defined in a namespace is tossed into a common bucket and is known from then on as a "feature" (more on this in a moment). The only caveat, is that there can only be one element or attribute with a specific name existing in this namespace bucket. So what essentially happens is that if you have defined two different elements with the same name in the same namespace, at runtime, only one of these will be usable. When a component attempts to use the other one, it will instead load the unexpected element and this is where problems can arise since this element may actually have distinct structures in each case. This them becomes a guessing game on which element will actually be loaded and used (and this ultimately will depend on the classloading policy in place).
There is a good technote that describes this behavior and a sample of how to remedy it:EMF FeatureNotFoundException with multiple schemas sharing namespace that have global elements
Whether the root cause is something as mentioned above or some other problem related to your schemas, the exceptions in WebSphere Process Server can be confusing since the data is stored in EMF and the terminology is slightly different. In EMF, the elements and attributes you would see in your xml schema are referred to as "features". So when you receive an exception of FeatureNotFound, this correlates to the system being unable to find a particular element or attribute within the object it is searching. The first place to check, of course, is if there even exists such as element and if so, you can move on to ensuring that no duplicates exist.
WebSphere Integration Developer provides a good warning if duplicates do exist in the modules or a modules dependency, so this should help to catch most instances. However, when adding in shared libraries or other schemas just sitting in the server's classpath, this would need to be investigated manually. SCA and ArtifactLoader trace may be enabled to help in finding what is loaded and from where as needed.
As a WebSphere Process Server administrator, do questions on wstemp ponder you? Well, read on...
- I see that the wstemp directory gets filled up with sub-directories as I work on application deployments and server administration tasks. What are these sub-directories?
The wstemp directory is used as a temporary directory for the server. The temporary files are mostly created during application installation and uninstallation tasks. They are also created while running wsadmin scripts and store current session data for logged in administrative console user. wstemp is created for the deployment manager and each custom profile in the cell configuration.
- Can I delete these sub-directories? Can I delete them when servers are running?
When the logged in user logs out of the administrative console, the user session details are no longer required. The sub-directory anonymous* holds this information and are is removed when you log out. When there are no installation tasks in progress, the temporary files that are created in these tasks are no longer needed. The sub-directory appdep* holds this information. When there is no script task in progress using wsadmin, the sub-directory, Script* contents are no longer required.
Most of the wstemp directories are deleted when the servers are shut down. While manually deleting the contents, the general rule is - it is safe to delete the contents when the servers are stopped. But on environments where downtime is kept minimal, the directories will keep piling up and consume valuable disk space. So can you delete directories without stopping the servers?Specifically, to be on the safe side, if the administrator is sure that there are no application deployment tasks in progress, appdep* directories can be removed. When there are no script actions in progress, Script* directories can be removed. The only caution is while dealing with anonymous* directories. It is not advisable to remove these directories when the servers are running.
- Are there any known defect fixes for wstemp not cleaned up?
Depending on the WebSphere Application Server version you are running, refer to the Fix List web site for more information.
- For V7.0.0, click here
- For V6.1.0, click here
Recently, I have run across some interesting information with how the WebSphere Process Server Version 7 HTTP Import Binding handles timeouts. The WebSphere Process Server HTTP Import Binding has 2 properties for handling timeouts and retries:
- Read Timeout : Specifies the time, in seconds, that the binding waits to read data while receiving a
response message. Setting this field to 0 causes the binding to wait
- Number of Retries: Specifies the number of times the request is retried when the
system receives an error response.
Source: WebSphere Process Server Information Center 1) Read timeout=0 behavior
In WebSphere Process Server v7 there has been an addendum
made to the read ReadTimeout
Note: The HTTP transport
channel has its own Read timeout value, which is the amount of time that the
channel waits for a read request to complete on a socket after the first read
request occurs. This setting is described in HTTP transport channel settings in the WebSphere
Application Server Information Center.
As a result, a setting of 0 in Version7 will actually fall through and timeout on the HTTP Transport channel settings (typically a default of 60 seconds). If you require a long timeout value, you will need to use an arbitrary large number for this property instead of 0. Currently there is no setting that truly represents an indefinite wait.
2) Number of Retries behavior
The description for retries can be misleading.
Note that the description of this property is specifically describes retrying when the system receives an error response.
In a scenario where instead the HTTP Service does not respond, or the response is late, you may observe some unexpected behavior.No Response Scenario
Retry: 5Late Response Scenario
Read Timeout: 30
Behavior of the service: The service does not respond.
Expectation: In this case, 6 total requests (original+5 retries) are sent out in 30 second intervals.
Actual behavior: The current behavior of the binding is that only 1 request is sent as no error is returned. This particular invocation will wait 180 seconds then return an error.
Read Timeout: 30
Behavior of the service: Return after 45 seconds
Expectation: 2 requests are sent out. Unknown. The proper behavior to handle a late response or responses can be arbitrary.
Actual Behavior: The current behavior is that only 1 request is sent out. When the response comes in late at 45 seconds, it causes an error as it has exceeded the timeout value. The first retry is then submitted at the 45 second mark. Depending on the timing of the 2nd response; this might lead to additional unexpected behavior.
In summary, the retry mechanism currently is geared towards handling errors rather than no responses. You might encounter unexpected behavior when dealing with late or no response. If you have a service that might be slow to respond, you might set the high timeout values to avoid running into these problems.
We have submitted this issue and further work to create more meaningful retry behavior logic in these two situations.
After nearly 10 years of working on an IBM documentation team, I was fairly surprised to hear that a colleague had recently discovered the feedback mechanism that is built into IBM information centers. Have you seen it? It's located at the bottom of every WebSphere Process Server Information Center topic. As a former member of a documentation team, we really appreciated it when our customers took the time to tell us when we have provided the right solution or when we can make improvements.
Here is a screen shot of the link to the feedback mechanism:
After you click Feedback
, you are presented with a form that gauges your overall satisfaction with the documentation and provides you with the opportunity to provide specific comments about the last topic that you were reviewing. The information that you submit through this form is sent directly to the WebSphere Process Server Information Development Team, who is responsible for maintaining the documentation. Members of the Information Development Team and their Development colleagues will review your comments and take the appropriate action for the next possible documentation update. Optionally, you can provide your contact information in the form if you would like to receive a response to your comments.
- Tell the team when a topic really helped you solve a problem.
- Suggest an example that might make the information more clear
- Request that steps are re-reviewed if you experienced difficulties, but were able to complete your task.
This form cannot be used for technical support.
The Information Development Team welcomes your comments!
A good place to start when trying to determine what combination of components will work with a specific version of WebSphere Process Server is the Detailed System Requirements page on the Process Server support site.
As stated on the individual pages for the product version, we list out the base product and fix pack levels that should work for a particular version of WebSphere Process Server. It has come to our attention that there are some dependencies from the Feature Packs for SCA and XML, primarily with regard to the BO Lazy parsing feature of WebSphere Process Server V18.104.22.168, that require a certain version of the feature packs to be installed.
Specifically, with WebSphere Process Server V22.214.171.124, it is required to have the feature pack levels be at:
- Feature Pack for SCA Version 1.0.1 Fix Pack 7
- Feature Pack for XML Version 1.0.0 Fix Pack 7
The Detailed System Requirements page states that these are needed as a minimum, but since there are changes in the later feature pack updates, this is actually what is required instead of just being the minimum. A formal technote is also being put together to document this.
The tricky part is that if you are using Installation Manager to update your WebSphere Process Server product, it will recommend the latest and greatest version of the feature packs, which, at this time, is the Feature Pack for SCA Version 1.0.1 Fix Pack 11 and the Feature Pack for XML Version 1.0.0 Fix Pack 9. By following these recommendations, your product will be in an unsupported configuration and can cause issues.
In this situation, the configuration is not supported only if you are using the Lazy Parsing mode.
The Installation Manager itself cannot know of these requirements, so we are unable to put a sanity check in that tool when the upgrade is being done using the online repository.
For more information, see the following Flash document: WebSphere Process Server 7.0.0.x BO Lazy parsing mode is not compatible with SCA 126.96.36.199
A question I ran into today was how to change the default "Shared Resources" location that is used during the installation process.
When WebSphere Process Server is installed by the Launchpad, it automatically "imports" WebSphere Application Server into Installation Manager and uses a hard-coded default value for the Shared Resources location; commonly in the following form: "/IBM/BPMShared". This location is set during the first install or import of a product into Installation Manager and is shared with other related products. It is suggested that you use a location with sufficient disk space. This technote
describes the method to modify a file that Launchpad uses to specify the default location (<Install image>/launchpad/content/userExtensions.js).
For those of you who wish to dive a little deeper into the subject:
The Shared Resources location is controlled by the com.ibm.cic.common.core.preferences.eclipseCache
property, which is used during the InstallationManager command to import WebSphere Application Server.
As a result:
- When using the Launchpad to install the product, this property is set through the userExtensions.js script.
- If you wish to take more control without modifying the Launchpad files, you can use silent install and specify the location. The sample response file for a silent install has a section set aside for you to modify the com.ibm.cic.common.core.preferences.eclipseCache value.
- If you are looking for an interactive method, you will have to take control from Launchpad and manually install WebSphere Application Server using the WAS directory in the WebSphere Process Server disk image. Then, using Installation Manager, you can perform the Import and then specify your own Shared Resources location.
Remember: You can set this location only on the first product install or WebSphere Application Server import. If you already have products installed, unfortunately, you will have to uninstall and reinstall to change the location.
As you might have noticed, this blog was renamed last week from the WebSphere Process Server Support Blog to the IBM Business Process Management Products Support Blog to encompass a wider variety of products within the IBM Business Process Management family of products. Initially, most of the blog entries will focus on the WebSphere Process Server product. However, we hope to offer topics on a wide range of IBM Business Process Management products as listed in the blog description.
As always, we welcome your comments on the blog entries and will respond to them as quickly as possible.
Do you follow us on Twitter? Our presence on Twitter is extensive! We provide links to technical support-related information that exists in many different formats such as problem and solution documents, developerWorks articles, IBM Red Books, IBM Red Papers, YouTube videos, blogs, and so on. We also provide links to educational opportunities and other related information to help you get the most out of your investment in our products.
There are two Business Process Management products that do not have a Twitter account named for them. However, we are currently providing information about those products through related Twitter accounts.
- IBM Business Process Manager Version 7.5 products were released earlier this year. To obtain information on IBM Business Process Manager Standard, IBM Business Process Manager Express, and IBM Business Process Manager Advanced, you can follow either the IBM_ProcessServ or the IBM_Lombardi Twitter account. Information pertaining to those products are provided through both of those accounts at different times; you won't miss any Business Process Manager-related tweets if you are following one account and not the other.
- WebSphere Enterprise Service Bus Version 7.5 was released earlier this year. To obtain information about this release and previous releases, follow the IBM_ProcessServ account.
We provide Business Process Management-related information through the following Twitter accounts:
- Twitter Account: IBM_Adapters
Products covered: WebSphere Adapters
- Twitter Account: IBM_Lombardi
Products covered: IBM Business Process Manager Standard, IBM Business Process Manager Express, IBM Business Process Manager Advanced, WebSphere Lombardi Edition
- Twitter Account: IBM_Modeler
Products covered: WebSphere Business Modeler and WebSphere Business Compass
- Twitter Account: IBM_Monitor
Products covered: WebSphere Business Monitor
- Twitter Account: IBM_ProcessServ
Products covered: IBM Business Process Manager Standard, IBM Business
Process Manager Express, IBM Business Process Manager Advanced,
WebSphere Enterprise Service Bus, and WebSphere Process Server
If you have any suggestions for content that you would like to see through our Twitter accounts, you can leave us comments here or send us a direct message through Twitter.
WebSphere Support Technical Exchange (WSTE) has recently posted a replay broadcast session on Using Headless Build ANT Script to Generate Deployable EAR File for Server Deployment. The purpose of this session is to educate users to build, generate, and deploy artifacts from the command line using both WebSphere Integration Developer and serviceDeploy. It introduces two fundamental approaches to build and deploy modules using Ant, using headless in WebSphere Integration Developer, and using serviceDeploy in WebSphere Process Server. It further discusses in details the pros and cons of choosing one of the approaches over the other. The session covers recommended practices in automated builds, common user errors, and resolving problems that you might encounter.
I recently published two new technotes related to some common issues that I have encountered in Support. Both of these issues are common issues that multiple IBM WebSphere Process Server users have come across. If you are encountering delays with WebSphere Process Server start-up, or WS-AT headers in your web services, then these publications might help you solve your problem. Check them out!
(content by Holly_Fitzgerald)
The Accelerated Value Program is pleased to announce that Accelerated Value Central (AVC) will again be part of the upcoming IMPACT 2012 Conference to bring you exclusive events and opportunities that will enhance your IMPACT 2012 experience.
Over the coming months we will be providing additional information on our AVC events, designed exclusively for you - our AVP clients(*). This information will be provided directly to you by your Accelerated Value Leader and / or Specialist as well as published in our News item entitled Accelerated Value Central at Impact 2012 (April 29 - May 04)
. Be sure to bookmark the News item to stay on top of these exclusive AVC events.
Additional information about the conference can be found on the main IMPACT 2012 page
Please visit the IMPACT 2012 registration site
for more information including Early Bird Registration.
We look forward to seeing you in Las Vegas!
* If you're not an AVP client, see what AVP has to offer: WebSphere Software Accelerated Value Program
Today, we are announcing an upcoming change to the Twitter accounts for the IBM Business Process Management (BPM) product family. For your convenience, and to better align with our product family strategy, we are consolidating the IBM_Lombardi, IBM_Modeler, IBM_Monitor, and IBM_ProcessServ Twitter accounts into one Twitter account. Effective Wednesday, February 1, 2012, we will consolidate these four Twitter accounts into one Twitter account called IBM_BPM. To denote product-specific tweets, we will use the following #hashtags:
- IBM Business Process Manager Standard / IBM Business Process Manager Express / IBM Business Process Manager Advanced: #bpm
- IBM Integration Designer: #iid
- WebSphere Lombardi Edition: #lombardi
- WebSphere Business Modeler: #modeler
- WebSphere Business Monitor: #monitor
- WebSphere Enterprise Service Bus: #wesb
- WebSphere Integration Developer: #wid
- WebSphere Process Server: #wps
So, what does this change mean for you?
Current IBM_ProcessServ followers
If you are currently following the IBM_ProcessServ Twitter account, an action is not necessary. The account name will change and you will follow the new account automatically.
Current IBM_Lombardi, IBM_Modeler, and IBM_Monitor followers
If you are following the IBM_Lombardi, IBM_Modeler, or IBM_Monitor Twitter accounts, new tweets will cease on Wednesday, February 1, 2012. To avoid any interruption, follow the IBM_ProcessServ account before February 1, 2012 in advance of the change or the IBM_BPM account beginning on February 1st. If you follow the IBM_ProcessServ account before February 1st, you will automatically migrate to the IBM_BPM account. Beginning February 1st, tweets that previously were sent from the IBM_Lombardi, IBM_Modeler, and IBM_Monitor Twitter accounts will originate from the IBM_BPM account.
Note: The IBM_Adapters Twitter account will remain active.
Earlier this week, Fix Central was updated to prompt for an IBM ID prior to downloading fixes.
When you visit the Fix Central site
, you will see the following announcement:
As of January 31, 2012, each IBM client accessing Fix Central (whether through their employees or other authorized representatives) is required to have an individual IBM ID to download fixes (some exemptions may apply). The registration is quick and simple and will provide users with a customized experience to better serve their needs. Fix Central downloads are available only for IBM clients with hardware or software under warranty, maintenance contracts, or subscription and support. Software code, samples, updates and fixes being accessed on this website (collectively, the Code) are subject to the terms of the license agreements which govern the use of the associated Code.
If you use Fix Central and don't already have an IBM ID, you can see this News item
or the Fix Central site
for how to get one. Keep your IBM ID handy so you won't have any delay if you need a fix.
||Video: Installing WebSphere Process Server V7.0.0 Fix Pack 4
Need help installing WebSphere Process Server V7.0.0 Fix Pack 4? Watch this step-by-step demonstration video, created by the IBM Support team and now available on IBM Education Assistant!
This 6-minute video demonstrates the five steps required to silently install WebSphere Process Server V7.0.0 Fix Pack 4 without an internet connection:
- Install WebSphere Application Server.
- Install Update Installer (UPDI).
- Uninstall two Interim Fixes (SDKPM00452 and PK98944) that come with the WebSphere Application Server installation.
- Install Installation Manager V1.5.
- Install WebSphere Process Server V7.0.0 Fix Pack 4 using a customized response file.
A Readme file is also provided that contains the following helpful information:
- Links to the install packages that you will need to download
- The commands that are used in the video and so you can copy and paste
- Links to the response files used in the video
Want to learn more? IBM Education Assistant offers over 100 videos about Business Process Management V7.0!
Are you a visual learner? Do you search for knowledge on YouTube? There is an extensive selection of Business Process Management, education, developerWorks, and general support YouTube videos that are available to help you maximize your investment in IBM Business Process Management software. Here's a short list of some of the Business Process Management YouTube channels:
- Follow the BPMSupport channel from our IBM Business Process Manager Level 2 Support Team for videos that describe some common issues. Look for more videos to come!
- Look to the BPMInAction channel for various demos and insights from Bill Hahn on how to use the IBM Business Process Manager products.
- View the developerWorks channel for a wide variety of tips and information across the IBM product portfolio. This channel includes the "This week On developerWorks (TWOdW)" podcasts.
- See the IBMElectronicSupport channel for tips about using the IBM Electronic Support options including how to use the different features in the IBM Support Portal, the Service Request Tool, Passport Advantage, and My Notifications.
- Follow the WebSphereEducation channel to find short demos on how to use various functions within a variety of IBM software products. Currently, there are several videos for WebSphere Lombardi Edition and the IBM Business Process Manager products. You can find more information about the WebSphere Educational opportunities including information on IBM Business Process Manager education at the following URL: http://www.ibm.com/software/websphere/education/
- See the WebSphereServiceZone channel if you are interested in learning about the services that are available through the IBM Software Services for WebSphere Team. You can find more information about IBM Software Services for WebSphere at the following URL: http://www.ibm.com/developerworks/websphere/services/
Here are some of the more popular YouTube videos from these channels: