<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>lekkimworld.comdomino</title>
    <link>http://lekkimworld.com/tags/domino/</link>
    <description>IBM Lotus Notes/Domino, Websphere, IBM Connections, mobile, web, JavaScript, Java...</description>
    <language>en</language>
    <copyright>Mikkel Flindt Heisterberg (mh [at] intravision [dot] dk</copyright>
    <pubDate>Sat, 19 May 2012 06:50:25 GMT</pubDate>
    <dc:creator>Mikkel Flindt Heisterberg (mh [at] intravision [dot] dk</dc:creator>
    <dc:date>2012-05-19T06:50:25Z</dc:date>
    <dc:language>en</dc:language>
    <dc:rights>Mikkel Flindt Heisterberg (mh [at] intravision [dot] dk</dc:rights>
    <image>
      <title>lekkimworld.comdomino</title>
      <url>http://lekkimworld.com/tags/domino/</url>
    </image>
    <item>
      <title>Authenticating a web service request</title>
      <link>http://lekkimworld.com/2012/04/10/authenticating_a_web_service_request.html</link>
      <content:encoded>&lt;p&gt;
In my current project I needed to place an authenticated web services request from Lotus Domino to an Oracle SOA endpoint. Turned out to be extremely easy using the Lotus Domino web services consumer feature as I just used the setCredentials(String, String) method which then adds the necessary Authorization header to the HTTP call. Below is an example.
&lt;pre&gt;
MyEchoServiceLocator l = new MyEchoServiceLocator();
MyEcho u = l.getDomino();
u.setCredentials("Domino Admin", "password");
String result = u.echo("HelloWorld");
System.out.println("Result: " + result);
&lt;/pre&gt;
&lt;/p&gt;</content:encoded>
      <category domain="http://lekkimworld.com/tags/domino/">domino</category>
      <category domain="http://lekkimworld.com/tags/java/">java</category>
      <category domain="http://lekkimworld.com/tags/lotus/">lotus</category>
      <category domain="http://lekkimworld.com/tags/web_services/">web_services</category>
      <category domain="http://lekkimworld.com/tags/ws/">ws</category>
      <pubDate>Tue, 10 Apr 2012 13:08:50 GMT</pubDate>
      <guid isPermaLink="false">tag:lekkimworld.com,2012-04-10:default/1334063330925</guid>
      <dc:date>2012-04-10T13:08:50Z</dc:date>
    </item>
    <item>
      <title>Windows 2008 64-bit can cause a significant CPU increase and I/O degradation when Domino opens many databases</title>
      <link>http://lekkimworld.com/2012/02/10/windows_2008_64_bit_can_cause_a_significant_cpu_increase_and_i_o_degradation_when_domino_opens_many_databases.html</link>
      <content:encoded>&lt;p&gt;
Had a customer report the above issue and have it fixed by IBM so I thought others might benefit from it. The issue has been fixed as IBM SPR# KBRN8AKKA9. The technote is &lt;a href="http://www-01.ibm.com/support/docview.wss?uid=swg21449825"&gt;1449825&lt;/a&gt; and contains a lot of good info. Setting notes.ini "Disable_Random_RW_File_ATTR=1" fixes the issue.
&lt;/p&gt;
&lt;p&gt;
&lt;i&gt;"After Domino opens many NSF files in quick succession during a backup, the Virtual Address Space of the OS system cache may be completely used up (for example, 1TB of data may be used in this OS cache).  Successive calls into the OS cache manager to get memory from the OS system cache then results in mapping/unmapping of views from the system cache. These mapping/unmapping operations takes a lot of CPU time and as a result shows as high OS CPU usage.  In addition, because the large OS system cache may now reside on the disk (the RAM is not large enough to hold the OS system cache) this results in significant I/O on the system."&lt;/i&gt;
&lt;/p&gt;</content:encoded>
      <category domain="http://lekkimworld.com/tags/domino/">domino</category>
      <category domain="http://lekkimworld.com/tags/ibm/">ibm</category>
      <category domain="http://lekkimworld.com/tags/technote/">technote</category>
      <category domain="http://lekkimworld.com/tags/windows/">windows</category>
      <pubDate>Fri, 10 Feb 2012 10:52:24 GMT</pubDate>
      <guid isPermaLink="false">tag:lekkimworld.com,2012-02-10:default/1328871144671</guid>
      <dc:date>2012-02-10T10:52:24Z</dc:date>
    </item>
    <item>
      <title>IBM Lotus Domino 8.5.3 server performance and IBM Lotus Notes 8.5.3 client performance</title>
      <link>http://lekkimworld.com/2011/12/09/ibm_lotus_domino_8_5_3_server_performance_and_ibm_lotus_notes_8_5_3_client_performance.html</link>
      <content:encoded>&lt;p&gt;
Saw this very nice - although very technincal - whitepaper on developerWorks on how Notes 8.5.3 has been optimized to reduce the number of transactions with the Domino server. A small little thing that I haven't seen mentioned before but which can have a big impact on your environment and users. Probably shouldn't be considered light reading.
&lt;/p&gt;
&lt;p&gt;
&lt;i&gt;"IBM Lotus&amp;reg; Domino&amp;reg; 8.5.3 and IBM Lotus Notes 8.5.3 have been optimized to reduce the transactions from the client to the server. These optimizations yield a reduction in server resources, thus lowering the Total Cost of Ownership. This white paper shows the reductions in processor and disk utilization achieved with large numbers of Notes 8.5.3 clients running on a single Domino 8.5.3 server."&lt;/i&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.ibm.com/developerworks/lotus/documentation/nd853performance/?cmp=dw&amp;cpb=dwlot&amp;ct=dwnew&amp;cr=dwnen&amp;ccy=zz&amp;csr=120811"&gt;IBM Lotus Domino 8.5.3 server performance: IBM Lotus Notes 8.5.3 performance&lt;/a&gt;
&lt;/p&gt;</content:encoded>
      <category domain="http://lekkimworld.com/tags/domino/">domino</category>
      <category domain="http://lekkimworld.com/tags/ibm/">ibm</category>
      <category domain="http://lekkimworld.com/tags/notes/">notes</category>
      <category domain="http://lekkimworld.com/tags/performance/">performance</category>
      <pubDate>Fri, 09 Dec 2011 07:31:13 GMT</pubDate>
      <guid isPermaLink="false">tag:lekkimworld.com,2011-12-09:default/1323415873609</guid>
      <dc:date>2011-12-09T07:31:13Z</dc:date>
    </item>
    <item>
      <title>DOTS and automatic startup of bundles</title>
      <link>http://lekkimworld.com/2011/07/08/dots_and_automatic_startup_of_bundles.html</link>
      <content:encoded>&lt;p&gt;
Domino OSGi Tasklet Container (or DOTS for short) is an uber-cool OpenNTF project that allows you to write addins for the Domino server in Java. The project used to be called JAVADDIN which kind of gives the purpose away.
&lt;/p&gt;
&lt;p&gt;
At UKLUG I was asked if there was a way to specify which bundles to automatically start at server startup. I didn't know the answer so I wrote an e-mail to David Taieb who's the author of the project and he quickly responded that this is indeed possible. Below is Davids answer:
&lt;pre&gt;
&lt;i&gt;Yes, you can create a file called config.ini in 
{data}/domino/workspace directory and add the following line 
domino.osgi.bundles.start=pluginid1,pluginId2,pluginId3 

Restart http task and verify that the plugins specified are 
active 
&amp;gt;tell http osgi diag pluginId1 
&amp;gt;tell http osgi diag pluginId2 
&amp;gt;tell http osgi diag pluginId3

Best Regards 
-david&lt;/i&gt;
&lt;/pre&gt;
The above is for Domino 8.5.3 - for Domino 8.5.2 the config.ini file is in the workspace\.config directory.
&lt;/p&gt;
&lt;p&gt;
There is a caveat though. The automatic startup isn't performed until an XPage request is made. An extension point to make bundles automatically startup when the server is started will be added for Domino 8.5.4. 
&lt;/p&gt;</content:encoded>
      <category domain="http://lekkimworld.com/tags/domino/">domino</category>
      <category domain="http://lekkimworld.com/tags/dots/">dots</category>
      <category domain="http://lekkimworld.com/tags/lotus/">lotus</category>
      <category domain="http://lekkimworld.com/tags/osgi/">osgi</category>
      <pubDate>Fri, 08 Jul 2011 09:47:08 GMT</pubDate>
      <guid isPermaLink="false">tag:lekkimworld.com,2011-07-08:default/1310118428891</guid>
      <dc:date>2011-07-08T09:47:08Z</dc:date>
    </item>
    <item>
      <title>RedWiki Residency: Domino Development Best Practices</title>
      <link>http://lekkimworld.com/2011/06/28/redwiki_residency_domino_development_best_practices.html</link>
      <content:encoded>&lt;p&gt;
&lt;img src="http://publib-b.boulder.ibm.com/residents.nsf/rb170x32.gif" style="float: right" /&gt;
The RedWiki team is now accepting nominations for a new RedWiki project on &lt;a href="http://publib-b.boulder.ibm.com/residents.nsf/IntNumber/LO-1W03-R01?OpenDocument"&gt;Domino Development Best Practices&lt;/a&gt;. The (remote) residency will cover a total period of 5 weeks, from August 8, 2011 through September 9, 2011 and requires 6 residents. If you want to give back to the community and share your expert experience this is for you.
&lt;/p&gt;
&lt;p&gt;
As one who has been part of the RedWiki process I can recommend it although it does require sufficient time being set aside for this and some writing experience would be good.
&lt;/p&gt;</content:encoded>
      <category domain="http://lekkimworld.com/tags/domino/">domino</category>
      <category domain="http://lekkimworld.com/tags/redbook/">redbook</category>
      <category domain="http://lekkimworld.com/tags/redwiki/">redwiki</category>
      <pubDate>Tue, 28 Jun 2011 19:28:13 GMT</pubDate>
      <guid isPermaLink="false">tag:lekkimworld.com,2011-06-28:default/1309289293610</guid>
      <dc:date>2011-06-28T19:28:13Z</dc:date>
    </item>
    <item>
      <title>A tale from a customer reaching (and exceeding) the 64 gb limit</title>
      <link>http://lekkimworld.com/2011/05/18/a_tale_from_a_customer_reaching_and_exceeding_the_64_gb_limit.html</link>
      <content:encoded>&lt;p&gt;
As I've tweeted I have spent the last couple of days (and the weekend) helping out a customer that exceeded the hard 64 gb database size limit in Lotus Domino. Before discussing how we solved the problem and got the customer back in business I would like you to think about how situations like this could be avoided. And avoiding it is key as once you exceed the size you're doomed. 
&lt;/p&gt;
&lt;p&gt;
First --- how and why database platform would EVER allow a database to cross a file size that makes it break. Why doesn't Domino start to complain at 50gb and make the warnings progressively harder to ignore as the database gets closer to 64gb. Why doesn't it refuse data once it reaches 60gb? I find it totally unacceptable that a software product allows a database to exceed a size it knows it cannot handle. &lt;/p&gt;
&lt;p&gt;
Now I know that there are considerations for such a warning and that it could be done in application code (e.g. database script, QueryOpen event) but it really isn't something an application developer should think about. Also it should be applied to backend logic as well and really doesn't lend itself to a UI computation. I also know that DDM or similar could warn about it but it still doesn't change my stance. The 64gb limit is a hard limit and reaching, and exceeding it, shouldn't depend on me configuring a specific piece of functionality.
&lt;/p&gt;
&lt;p&gt;
Second -- having the option of keeping the view index in another location/file than the database would have helped. This has been brought up a number of times including at Lotusphere Ask-The-Developers sessions. One could argue that externalizing the view index from the database would just have postponed the problem but the view index takes up a substantial amount of disk for databases of this size.
&lt;/p&gt;
&lt;p&gt;
Now on to how we saved the data.
&lt;/p&gt;
&lt;p&gt;
The bottom line in this is that the customer was lucky. VERY lucky. The customer uses Cisco IP telephones and keeps a replica of the database in question on a secondary server for phone number lookup using a Java servlet. Due to the way the way the servlet is written only as single, very small, view was built on the secondary server. This is turn meant that the database that had exceeded 64 gb on the primary server was "only" 55 gb on the secondary server. The database on the primary server was toast and gave out very interesting messages if attempting the access or fixup the database:
&lt;pre&gt;
**** DbMarkCorruptAgain(Both SB copies are corrupt)
&lt;/pre&gt;
So thank God they had the secondary server otherwise the outcome of the story would have been less pleasant because using the secondary server we were able to:
&lt;ol&gt;
&lt;li&gt;Take the database offline (restrict access using ACL)&lt;/li&gt;
&lt;li&gt;Purge all view indexes (using Ytria ViewEZ)&lt;/li&gt;
&lt;li&gt;Create a database design only copy to hold archived documents&lt;/li&gt;
&lt;li&gt;Delete all views to avoid them accidentally being built&lt;/li&gt;
&lt;li&gt;Build a very simple view to prepare for data archiving&lt;/li&gt;
&lt;li&gt;Write a LotusScript to archive documents (copy then delete) from the database&lt;/li&gt;
&lt;li&gt;Use Ytria ScanEZ to delete deletion stubs from the database (this works for them because the database isn't replicated to user workstations or laptops)&lt;/li&gt;
&lt;li&gt;Do a compact to reclaim unused space&lt;/li&gt;
&lt;li&gt;Make the database available on the primary server&lt;/li&gt;
&lt;/ol&gt;
Whew! They are now back in business after building views in the database. They were lucky - VERY lucky. If they hadn't had that secondary replica the data would probably have been lost to much distress. To them and me.
&lt;/p&gt;
&lt;p&gt;
So what are the main take aways from this?
&lt;ol&gt;
&lt;li&gt;UI check -- in the future all databases that I develop will have a database script check on the database size to try and prevent situations like this&lt;/li&gt;
&lt;li&gt;DAOS -- enable DAOS for databases to keep attachments out of the database and keep the size down&lt;/li&gt;
&lt;li&gt;Monitoring -- monitor databases either using DDM or other tools to try and prevent sitations like this&lt;/li&gt;
&lt;/ol&gt;
&lt;/p&gt;
&lt;p&gt;
And so concludes a story from the field. 4 days later where my hair have turned gray from watching copy/fixup/compact progress indicators the customer is back in and happy once again. Whew!! 
&lt;/p&gt;</content:encoded>
      <category domain="http://lekkimworld.com/tags/domino/">domino</category>
      <category domain="http://lekkimworld.com/tags/lotus/">lotus</category>
      <pubDate>Wed, 18 May 2011 07:48:51 GMT</pubDate>
      <guid isPermaLink="false">tag:lekkimworld.com,2011-05-18:default/1305704931687</guid>
      <dc:date>2011-05-18T07:48:51Z</dc:date>
    </item>
    <item>
      <title>Why all the talk about recycle() - how about dispose()?</title>
      <link>http://lekkimworld.com/2010/11/20/why_all_the_talk_about_recycle_how_about_dispose.html</link>
      <content:encoded>&lt;p&gt;
Let me start by saying that I agree that recycle() could and should be handled by the API and there are numerous ways around it. I however also think that the majority of Notes developers out there will never have the need to call recycle() in their Java agents. There is a lot of talk about recycle() this and recycle() that but let's face it - it's not really a problem. If ever there is a problem with the Java API it's not recycle() it is the fact that it has been left to stagnate and that it's not keeping up with the Java language as a whole.
&lt;/p&gt;
&lt;p&gt;
All this being said I wonder why so much talk and energy is being spent on recycle() and how come it is constantly being used as a reason not to move to Java and embrace the language. Looking at other API's there are stuff that needs to be done. In the Java API it's recycle() (whenever it's &lt;u&gt;actually&lt;/u&gt; needed) and in SWT it's dispose(). I never see any SWT discussions on the dispose() method and DisposeListeners and using it as a justification for not choosing SWT and Eclipse as the fundation for an application. You judge a framework on what it does for you and not a single method in an API. Every API and language has quirks. Deal with it!
&lt;/p&gt;
&lt;p&gt;
My post from 2006 (!!) has a lot more information on recycle() and why it's there: &lt;a href="http://lekkimworld.com/2006/04/09/java_in_notes_domino_explained_the_story_on_recycle.html"&gt;Java in Notes/Domino Explained: The story on recycle()&lt;/a&gt;
&lt;/p&gt;</content:encoded>
      <category domain="http://lekkimworld.com/tags/api/">api</category>
      <category domain="http://lekkimworld.com/tags/domino/">domino</category>
      <category domain="http://lekkimworld.com/tags/java/">java</category>
      <category domain="http://lekkimworld.com/tags/notes/">notes</category>
      <category domain="http://lekkimworld.com/tags/recycle/">recycle</category>
      <category domain="http://lekkimworld.com/tags/swt/">swt</category>
      <pubDate>Sat, 20 Nov 2010 18:46:02 GMT</pubDate>
      <guid isPermaLink="false">tag:lekkimworld.com,2010-11-20:default/1290278762453</guid>
      <dc:date>2010-11-20T18:46:02Z</dc:date>
    </item>
    <item>
      <title>Lotus Domino on Amazon Web Services (AWS)</title>
      <link>http://lekkimworld.com/2010/03/30/lotus_domino_on_amazon_web_services_aws.html</link>
      <content:encoded>&lt;p&gt;
&lt;img src="http://awsmedia.s3.amazonaws.com/logo_aws.gif" style="float: right; margin: 5px" /&gt;
Via my blog subscriptions I picked this wiki article on getting started with Lotus Domino for Amazon Web Services (&lt;a href="http://www-10.lotus.com/ldd/ddwiki.nsf/dx/IBM_Lotus_Domino_8.5.1_on_Amazon_Web_Services_A_getting_started_guide"&gt;IBM Lotus Domino 8.5.1 on Amazon Web Services: A getting started guide&lt;/a&gt;) and decided to look into it. The availability of Lotus Domino on AWS was announced at Lotusphere 2010 so this was a good opportunity to look into it. 
&lt;/p&gt;
&lt;p&gt;
The setup steps in the wiki article are easy to follow although the Lotus Domino image isn't available in the Europe region "data center". I had to choose US East or US West to be able to select the Lotus Domino AMI (read: "image"). For testing that isn't an issue but for production you need to consider network latency to your server. If you have other existing AWS servers it may also be an issue as data transfer within the same region is free but isn't among regional centers which can become costly for maintenance operations etc.
&lt;/p&gt;
&lt;p&gt;
Besides that it looks slick and allows you to easily setup test servers based on templates. Also you only pay for servers as long as they are running so it might be a nice way to test big deployment scenarios. As mentioned earlier on this blog there are a lot of other IBM templates as well (for DB2, Tivoli, Websphere etc.).
&lt;/p&gt;
&lt;p&gt;
Note that Amazon is not alone in this space. As you might have seen in the showcase at Lotusphere Group is also promoting their &lt;a href="http://www.grouplive.com/"&gt;GroupLive&lt;/a&gt; platform as a service (PaaS) product. Some European companies might want to partner with a European company than with an American company. 
&lt;/p&gt;</content:encoded>
      <category domain="http://lekkimworld.com/tags/amazon/">amazon</category>
      <category domain="http://lekkimworld.com/tags/aws/">aws</category>
      <category domain="http://lekkimworld.com/tags/cloud/">cloud</category>
      <category domain="http://lekkimworld.com/tags/domino/">domino</category>
      <category domain="http://lekkimworld.com/tags/grouplive/">grouplive</category>
      <category domain="http://lekkimworld.com/tags/lotusphere2010/">lotusphere2010</category>
      <category domain="http://lekkimworld.com/tags/ls10/">ls10</category>
      <pubDate>Tue, 30 Mar 2010 07:29:08 GMT</pubDate>
      <guid isPermaLink="false">tag:lekkimworld.com,2010-03-30:default/1269934148734</guid>
      <dc:date>2010-03-30T07:29:08Z</dc:date>
    </item>
  </channel>
</rss>


