Category Archives: wps

Changing course slightly towards BRMS with BPM


With the IBM Certified Application Developer ÔÇô WebSphere ILOG JRules V7.0 certificate and working with IBM WebSphere Business Process Management (WebSphere BPM) runtime and development environments on a daily basis, I thought I’d give BRMS and BPM a try with the products like IBM WebSphere Process Server (WPS) 7, IBM WebSphere Integration Developer (WID) 7 and IBM WebSphere ILOG JRules 7.

There’re a couple of cases where they meet business requirements very easily (and likely better than the other tandems) and so the course of the blog has changed slightly with focus on three products – ILOG JRules, WID and WPS – rather than one. I’m working with these products almost every day (on projects as a WebSphere consultant and/or as a course instructor) so it’d let me share the findings hoping there’re others out there who benefit from them too. There’s yet another idea to find some spare cycles and learn/compare with their open source alternatives – JBoss Rules (aka Drools) and Apache ODE (possibly JBoss jBPM, but I’m rather interested in WS-BPEL engines and am not sure if jBPM supports it).

Just to let you appreciate the “beauty” of IBM WebSphere Integration Developer 7, which is a integrated development environment (IDE) for IBM WebSphere Process Server, I’ve just stumbled upon a solution for my recent problem with installing it atop 64-bit Red Hat Enterprise Linux 5.5. When you delete saved files for rollback, WID7 refuses to work – Business Integration perspective and view is not available after deleting saved files for rollback. The solution is quite simple – do not remove the files. Do less to do more and you’ll be fine – isn’t it a nice solution?! ­čÖé

Advertisements

Przy┼é─ůczenie w─Öz┼éa (federacja) za pomoc─ů addNode i DoNotDoAddNodeException oraz Upload retry limit exceeded for file


Podczas tworzenia profilu zarz─ůdzanego (ang. managed profile) poleceniem managedprofiles istnieje mo┼╝liwo┼Ť─ç przy┼é─ůczenia (federacja) do zarz─ůdcy ┼Ťrodowiskiem Dmgr (ang. deployment manager). Najpierw tworzony jest sam profil (katalog konfiguracyjny), a nast─Öpnie rozpoczyna si─Ö proces przy┼é─ůczania. Parametrem, kt├│ry kontroluje, czy wykona─ç proces przy┼é─ůczenia jest -dmgrHost. Je┼Ťli istnieje przy┼é─ůczanie odb─Ödzie si─Ö w ramach tworzenia profilu. Pe┼éne polecenie do utworzenia profilu zarz─ůdzanego IBM WebSphere Process Server (WPS) to:

./bin/manageprofiles.sh -create -templatePath /opt/IBM/WebSphere/ProcServer/profileTemplates/managed.wbiserver -profileName Fabric01 -nodeName fabricNode02 -enableAdminSecurity true -adminUserName admin -adminPassword password -dbDelayConfig true -dbName wpsdb -dbHostName 10.10.10.144 -dbServerPort 1521 -dbType oracle10g -dbDriverType oracle_thin -dbJDBCClasspath /opt/IBM/WebSphere/ProcServer/oracleDriver -dmgrHost 10.10.10.141 -dmgrPort 8879 -dmgrAdminUserName admin -dmgrAdminPassword password

Nie jestem pewien, czy wszystkie parametry s─ů konieczne, ale kluczem s─ů parametry -create, -templatePath i wspomniany dmgrHost.

Niestety, ostatnim razem przy zestawianiu ┼Ťrodowiska klastrowego WPSa 6.2 spotka┼éem si─Ö z nast─Öpuj─ůcym wyj─ůtkiem: ADMU0111E: Program exiting with error: com.ibm.ws.management.tools.DoNotDoAddNodeException. Rozwi─ůzaniem by┼éa synchronizacja zegar├│w na obu serwerach – Dmgr i w─Öz┼éa. A sk─ůd ten wniosek? Wiadomo, ┼╝e nie z samego wyj─ůtku ­čÖé

Na zako┼äczenie managedprofiles dosta┼éem komunikat o jakim┼Ť b┼é─Ödzie i ┼╝e odpowiedzi mam szuka─ç w /opt/IBM/WebSphere/ProcServer/logs/manageprofiles/Fabric01_create.log. A tam:


<record>
<date>2009-09-03T19:52:57</date>
<millis>1252025577787</millis>
<sequence>10002</sequence>
<logger>com.ibm.ws.install.configmanager.actionengine.ant.utils.ANTLogToCmtLogAdapter</logger>
<level>WARNING</level>
<class>com.ibm.ws.install.configmanager.logging.LogUtils</class>
<method>logException</method>
<thread>10</thread>
<message>/opt/IBM/WebSphere/ProcServer/profileTemplates/managed.wbiserver/actions/executeManagedProfileSetup.ant:235: exec returned: 255
at org.apache.tools.ant.taskdefs.ExecTask.runExecute(ExecTask.java:591)
at org.apache.tools.ant.taskdefs.ExecTask.runExec(ExecTask.java:617)
at org.apache.tools.ant.taskdefs.ExecTask.execute(ExecTask.java:452)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
at org.apache.tools.ant.Task.perform(Task.java:364)
at org.apache.tools.ant.Target.execute(Target.java:341)
at org.apache.tools.ant.Target.performTasks(Target.java:369)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216)
at org.apache.tools.ant.Project.executeTarget(Project.java:1185)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:40)
at org.apache.tools.ant.Project.executeTargets(Project.java:1068)
at com.ibm.ws.install.configmanager.actionengine.ant.utils.InProcessAntRunner.runBuild(InProcessAntRunner.java:785)
at com.ibm.ws.install.configmanager.actionengine.ant.utils.InProcessAntRunner.start(InProcessAntRunner.java:234)
at com.ibm.ws.install.configmanager.actionengine.ANTAction.executeActionUsingAnInProcessANTCall(ANTAction.java:94)
at com.ibm.ws.install.configmanager.actionengine.ANTAction.executeAction(ANTAction.java:41)
at com.ibm.ws.install.configmanager.ConfigManager.executeAllActionsFound(ConfigManager.java:828)
at com.ibm.ws.install.configmanager.ConfigManager.executeActions(ConfigManager.java:547)
at com.ibm.ws.install.configmanager.ConfigManager.launch(ConfigManager.java:322)
at com.ibm.ws.install.configmanager.launcher.Launcher.mainForInProcessCMTCallers(Launcher.java:65)
at com.ibm.wsspi.profile.WSProfile.doAugment(WSProfile.java:707)
at com.ibm.wsspi.profile.WSProfile.stackCreate(WSProfile.java:332)
at com.ibm.wsspi.profile.WSProfile.create(WSProfile.java:171)
at com.ibm.ws.profile.cli.WSProfileCLICreateProfileInvoker.executeWSProfileAccordingToMode(WSProfileCLICreateProfileInvoker.java:86)
at com.ibm.ws.profile.cli.WSProfileCLIModeInvoker.invokeWSProfile(WSProfileCLIModeInvoker.java:211)
at com.ibm.wsspi.profile.WSProfileCLI.invokeWSProfile(WSProfileCLI.java:283)
at com.ibm.wsspi.profile.WSProfileCLI.main(WSProfileCLI.java:60)
</message>
</record>

i dalej w /opt/IBM/WebSphere/ProcServer/profileTemplates/managed.wbiserver/actions/executeManagedProfileSetup.ant na linii 235:

<target name="runAddNodeWithoutPortsFileWithUsernamePassword"
description="Runs the addNode utility to federate the profile without ports file."
if="RUN_WITHOUT_PORTFILE_WITH_USERPASSWORD" unless="hasBeenFederated">
<wscmtlog>Enter runAddNodeWithoutPortsFileWithUsernamePassword, username=${dmgrAdminUserName}, password=***** </wscmtlog>
<echo message="Federating to ${dmgrHost}:${dmgrPort} -username ${dmgrAdminUserName} -password ******, the output will be recorded in: ${profilePath}/logs/runAddNode.log"/>
<echo message="The federateLaterProcServer check was resolved to ${federateLaterProcServer}"/>

<exec executable="${ADDNODE_EXECUTABLE}" failonerror="true"
output="${profilePath}/logs/runAddNode.log">
<arg value="${dmgrHost}"/>
<arg value="${dmgrPort}"/>
<arg value="-username" />
<arg value="${dmgrAdminUserName}" />
<arg value="-password" />
<arg value="${dmgrAdminPassword}" />
<env key="WAS_USER_SCRIPT" value="${profilePath}/bin/${setupCmdLineName}"/>
<env key="PROFILE_CONFIG_ACTION" value="true"/>
<env key="Path" path="${WAS_HOME}${separatorFile}bin"/>
</exec>
<wscmtlog>Node was federated from runAddNodeWithoutPortsFileWithUsernamePassword </wscmtlog>
<property name="hasBeenFederated" value="true"/>
</target>

Stamt─ůd ju┼╝ rzut oka na /opt/IBM/WebSphere/ProcServer/profiles/Fabric01/logs/addNode.log i mam pow├│d:

[9/3/09 19:52:57:074 CDT] 0000000a AdminTool E ADMU0111E: Program exiting with error: com.ibm.ws.management.tools.DoNotDoAddNodeException
at com.ibm.ws.management.tools.NodeFederationUtility.failAddNodeBecauseClocksNotInSync(NodeFederationUtility.java:1577)
at com.ibm.ws.management.tools.NodeFederationUtility.doCheckIfAddNodeIsOkToRun(NodeFederationUtility.java:1348)
at com.ibm.ws.management.tools.NodeFederationUtility.runTool(NodeFederationUtility.java:499)
at com.ibm.ws.management.tools.AdminTool.executeUtility(AdminTool.java:264)
at com.ibm.ws.management.tools.NodeFederationUtility.main(NodeFederationUtility.java:264)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:618)
at com.ibm.wsspi.bootstrap.WSLauncher.launchMain(WSLauncher.java:183)
at com.ibm.wsspi.bootstrap.WSLauncher.main(WSLauncher.java:90)
at com.ibm.wsspi.bootstrap.WSLauncher.run(WSLauncher.java:72)
at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:78)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:92)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:68)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:177)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:618)
at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336)
at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
at org.eclipse.core.launcher.Main.run(Main.java:977)
at com.ibm.wsspi.bootstrap.WSPreLauncher.launchEclipse(WSPreLauncher.java:329)
at com.ibm.wsspi.bootstrap.WSPreLauncher.main(WSPreLauncher.java:92)

Szczeg├│lnie ta linia z at com.ibm.ws.management.tools.NodeFederationUtility.failAddNodeBecauseClocksNotInSync(NodeFederationUtility.java:1577). Wygl─ůda na rozsynchronizowane czasy na obu serwerach. I faktycznie:

bash-3.2# date
Thu Sep 3 20:02:27 CDT 2009

bash-3.2# date
Thu Sep 3 13:02:48 CDT 2009

Po nastawieniu zegarów wszystko poszło dalej gładko. Więcej w addNode command best practices (niestety nie mogę znaleźć odpowiedniej strony w dokumentacji do wersji 6.2).

CWTKE0062W: Virtual Member Manager (VMM) entity… i Human Task Manager (HTM)


Podczas wdra┼╝ania bardzo prostego procesu biznesowego z wy┼é─ůcznie pojedynczym zadaniem (ang. human task) WPS 6.2.0.1 zg┼éosi┼é komunikat:

[8/25/09 19:13:38:851 CEST] 000000c4 HTM┬á┬á┬á┬á┬á┬á┬á┬á┬á┬á W┬á┬á CWTKE0062W: Virtual Member Manager (VMM) entity ‘uid=jacek,o=defaultWIMFileBasedRealm’ has no attribute with the name ‘isAbsent’ and type ‘String’.

Owe pojedyncze zadanie zawiera┼éo przypisanie roli Potential Owners do u┼╝ytkownika jacek, kt├│rego zdefiniowa┼éem w domy┼Ťlnym repozytorium u┼╝ytkownik├│w (ustawienie Federated repositories w Security > Secure administration, applications, and infrastructure).

Samo wyszukanie frazy “CWTKE0062W” w Google wskaza┼éo na CWTKE0062W: Virtual Member Manager (VMM) entity ”{0}” has no attribute with the name ”{1}” and type ”{2}”, ale ju┼╝ “no attribute with the name ‘isAbsent’ and type ‘String'” by┼éo bardziej owocne. Pojawi┼éa si─Ö dokumentacja PDF do Business Process Choreographera (g┼é├│wnej funkcjonalno┼Ťci WPSa) oraz odno┼Ťnik do dokumentu Troubleshooting people assignment, a tam wyja┼Ťnienie przy “StaffPlugin.VMMEntityAttributeNotFound”:

If no substitution attributes (isAbsent or substitutes) are found when reading, an attempt is made to initialize the attributes. If no substitution attributes are found when writing or updating, an exception is generated.

Wnioskuj─Ö, ┼╝e po prostu brakuje atrybutu (zgodnie z komunikatem :)), kt├│ry wskazuje HTM (=Human Task Manager’owi) na mo┼╝liwo┼Ť─ç podstawienia/zast─Öpstwa w razie nieobecno┼Ťci danego delikwenta. W My Substitutes w BPC Explorer’ze jest mo┼╝liwo┼Ť─ç ustawienia tego parametru (pozycja w menu poziomym), ale bez wsparcia przez repozytorium u┼╝ytkownik├│w i to na niewiele si─Ö zdaje. Bardziej produkcyjne rozwi─ůzanie to po prostu zdefiniowanie parametru w LDAP, np. Microsoft Active Directry i temat z g┼éowy…teoretycznie, bo nie testowa┼éem. Jak ju┼╝ si─Ö dorobi─Ö ┼Ťrodowiska WPS/WBSF z LDAP pewnie poinformuj─Ö o wynikach dochodzenia.

p.s. Na koniec pisania tego wpisu pojawi┼é mi si─Ö ciekawy b┼é─ůd w WBSFie, kiedy wchodz─Ö w Users and Groups > Manage Users lub Manage Groups w jego┬ákonsoli administracyjnej:
[8/25/09 21:22:53:889 CEST] 000018e9 SecurityServi W SecurityServiceImpl isWindowModeAllowed can't find userRoles information
[8/25/09 21:22:53:889 CEST] 000018e9 ElementRender W com.ibm.isclite.runtime.aggregation.tags.ElementRenderTag doStarttag() user does not have permissions for view mode
[8/25/09 21:23:04:836 CEST] 000018ea SecurityServi E SecurityServiceImpl getPortletsForMode security.xml does not exist
[8/25/09 21:23:04:836 CEST] 000018ea NavigationAct E NavigationAction getSecurityPtltModeInfo calls security service
com.ibm.isclite.datastore.DatastoreException: SecurityServiceImpl.getPortletsForMode>>ibm-topology-security.xml does not exists
at com.ibm.isclite.service.security.SecurityServiceImpl.getPortletsForMode(SecurityServiceImpl.java:152)
at com.ibm.isclite.runtime.action.NavigationAction.getSecurityPtltModeInfo(NavigationAction.java:385)
at com.ibm.isclite.runtime.action.NavigationAction.execute(NavigationAction.java:323)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1486)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:510)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1149)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1084)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:145)
at com.ibm.ws.console.core.servlet.WSCUrlFilter.setUpCommandAssistence(WSCUrlFilter.java:792)
at com.ibm.ws.console.core.servlet.WSCUrlFilter.continueStoringTaskState(WSCUrlFilter.java:363)
at com.ibm.ws.console.core.servlet.WSCUrlFilter.doFilter(WSCUrlFilter.java:229)
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:87)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:832)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:679)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:587)
at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:481)
at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:90)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:748)
at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1466)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:119)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:458)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:387)
at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:102)
at com.ibm.ws.ssl.channel.impl.SSLReadServiceContext$SSLReadCompletedCallback.complete(SSLReadServiceContext.java:1818)
at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136)
at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:196)
at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:792)
at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:881)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1473)
Caused by: org.eclipse.emf.ecore.resource.impl.ResourceSetImpl$1$DiagnosticWrappedException: org.eclipse.emf.ecore.xmi.ClassNotFoundException: Class 'ibm-portal-security' not found. (file:/E:/WID62/WID62/pf/WBSFabric/config/cells/wbsfCell/applications/isclite.ear/deployments/isclite/WIMPortlet.war/WEB-INF/ibm-portal-security.xml, 5, 289)
at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.handleDemandLoadException(ResourceSetImpl.java:307)
at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLoadHelper(ResourceSetImpl.java:268)
at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.getResource(ResourceSetImpl.java:390)
at com.ibm.isclite.service.security.SecurityServiceImpl.getPortletsForMode(SecurityServiceImpl.java:147)
... 37 more
Caused by: org.eclipse.emf.ecore.xmi.ClassNotFoundException: Class 'ibm-portal-security' not found. (file:/E:/WID62/WID62/pf/WBSFabric/config/cells/wbsfCell/applications/isclite.ear/deployments/isclite/WIMPortlet.war/WEB-INF/ibm-portal-security.xml, 5, 289)
at org.eclipse.emf.ecore.xmi.impl.XMLHandler.validateCreateObjectFromFactory(XMLHandler.java:1999)
at org.eclipse.emf.ecore.xmi.impl.XMLHandler.createObjectByType(XMLHandler.java:1176)
at org.eclipse.emf.ecore.xmi.impl.XMLHandler.createTopObject(XMLHandler.java:1245)
at org.eclipse.emf.ecore.xmi.impl.XMLHandler.processElement(XMLHandler.java:883)
at org.eclipse.emf.ecore.xmi.impl.XMLHandler.startElement(XMLHandler.java:866)
at org.eclipse.emf.ecore.xmi.impl.XMLHandler.startElement(XMLHandler.java:633)
at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)
at org.apache.xerces.impl.dtd.XMLDTDValidator.startElement(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown Source)
at org.apache.xerces.impl.XMLDocumentScannerImpl$ContentDispatcher.scanRootElementHook(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at org.apache.xerces.jaxp.SAXParserImpl.parse(Unknown Source)
at org.eclipse.emf.ecore.xmi.impl.XMLLoadImpl.load(XMLLoadImpl.java:179)
at org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl.doLoad(XMLResourceImpl.java:179)
at org.eclipse.emf.ecore.resource.impl.ResourceImpl.load(ResourceImpl.java:1094)
at org.eclipse.emf.ecore.resource.impl.ResourceImpl.load(ResourceImpl.java:900)
at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLoad(ResourceSetImpl.java:249)
at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLoadHelper(ResourceSetImpl.java:264)
... 39 more

[8/25/09 21:23:04:836 CEST] 000018ea SecurityServi W SecurityServiceImpl isWindowModeAllowed can't find userRoles information
[8/25/09 21:23:04:836 CEST] 000018ea ElementRender W com.ibm.isclite.runtime.aggregation.tags.ElementRenderTag doStarttag() user does not have permissions for view mode

Aktualizacja oprogramowania – RAD/RSA 7.0.0.7 oraz WID/WPS 6.1.2


Kilka dni temu przysz┼éo mi do g┼éowy, aby zaktualizowa─ç oprogramowanie IBM Rational Application Developer i IBM Rational Software Architect do wersji 7.0.0.7 oraz IBM WebSphere Integration Developer i IBM WebSphere Process Server do wersji 6.1.2. Pierwsze do┼Ťwiadczenia okropne, gdy┼╝ swego czasu postanowi┼éem zaktualizowa─ç WPSa, kt├│ry przychodzi z WIDem w┼éasnor─Öcznie za pomoc─ů Update Installera, co kompletnie zepsu┼éo ┼Ťledzenie instalacji przez Update Installera, kt├│rym zainstalowa┼éem WIDa. Ostatecznie jestem zmuszony do ponownej instalacji ca┼éo┼Ťci oprogramowania.

Na innym komputerze ju┼╝ by┼éem ostro┼╝niejszy i wszystkie aktualizacje WID/WPS oraz RAD/RSA wykonywa┼éem ju┼╝ z pomoc─ů IBM Installation Manager. Kilka paneli wyboru aktualizacji

Po dobrych kilku godzinach ca┼éo┼Ť─ç oprogramowania ju┼╝ mia┼éem na najwy┼╝szej mo┼╝liwej wersji.

Jeszcze nie do┼Ťwiadczy┼éem dobroci pracy znajnowszym oprogramowaniem, ale z pewno┼Ťci─ů zebrane do┼Ťwiadczenia przydadz─ů si─Ö klientom, kiedy zapytaj─ů Czy warto?.