<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Blog @ SIB Visions &#187; Exchange</title>
	<atom:link href="http://blog.sibvisions.com/tag/exchange/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.sibvisions.com</link>
	<description>Blog @ SIB Visions</description>
	<lastBuildDate>Fri, 10 Apr 2026 10:13:07 +0000</lastBuildDate>
		<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>JVx with Exchange Servers</title>
		<link>https://blog.sibvisions.com/2013/02/24/jvx-with-exchange-servers/</link>
		<comments>https://blog.sibvisions.com/2013/02/24/jvx-with-exchange-servers/#comments</comments>
		<pubDate>Sun, 24 Feb 2013 19:46:17 +0000</pubDate>
		<dc:creator>rjahn</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Exchange]]></category>
		<category><![CDATA[JVx]]></category>

		<guid isPermaLink="false">http://blog.sibvisions.com/?p=2116</guid>
		<description><![CDATA[The integration of Exchange servers is or could be very important for ERP applications. If you use Exchange to manage your contacts, appointments, task, etc. wouldn't it be great to manage or integrate your data in your application(s), directly without copying? 
The problem is not the integration in your application, the problem is how you [...]]]></description>
			<content:encoded><![CDATA[<p>The integration of Exchange servers is or could be very important for ERP applications. If you use Exchange to manage your contacts, appointments, task, etc. wouldn't it be great to manage or integrate your data in your application(s), directly without copying? </p>
<p>The problem is not the integration in your application, the problem is how you get data from your Exchange server. There are some commercial Java products available but you don't need commercial products since Microsoft offers <a href="https://github.com/OfficeDev/ews-managed-api">EWS Java API</a>. The API is very simple and communicates via SOAP to your Exchange server. The documentation is good for a quick start but you have to read source code if you want to know some details.</p>
<p>We made it simple for your JVx applications to integrate an Exchange server, because we did implement storages for Contacts and Contact folders (more will follow). With our storages it's a breeze to enrich your application. Create a storage in your life-cycle object like all other storages:</p>
<div class="codesnip-container" >
<div class="java codesnip" style="font-family:monospace;"><span class="kw1">public</span> IStorage getContacts<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="kw1">throws</span> <span class="kw3">Exception</span><br />
<span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; ContactsStorage contacts <span class="sy0">=</span> <span class="br0">&#40;</span>ContactsStorage<span class="br0">&#41;</span>get<span class="br0">&#40;</span><span class="st0">&quot;contacts&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>contacts <span class="sy0">==</span> <span class="kw2">null</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; contacts <span class="sy0">=</span> <span class="kw1">new</span> ContactsStorage<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; contacts.<span class="me1">setURL</span><span class="br0">&#40;</span><span class="sy0">&lt;</span>url<span class="sy0">&gt;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; contacts.<span class="me1">setUserName</span><span class="br0">&#40;</span><span class="sy0">&lt;</span>username<span class="sy0">&gt;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; contacts.<span class="me1">setPassword</span><span class="br0">&#40;</span><span class="sy0">&lt;</span>password<span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; contacts.<span class="me1">open</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; put<span class="br0">&#40;</span><span class="st0">&quot;contacts&quot;</span>, contacts<span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> contacts<span class="sy0">;</span><br />
<span class="br0">&#125;</span></div>
</div>
<p>That's enough to read and write contacts. </p>
<p>If you work with contact folders, simply use our storage for it:</p>
<div class="codesnip-container" >
<div class="java codesnip" style="font-family:monospace;"><span class="kw1">public</span> IStorage getFolders<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="kw1">throws</span> <span class="kw3">Exception</span><br />
<span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; ContactsFolderStorage folders <span class="sy0">=</span> <span class="br0">&#40;</span>ContactsFolderStorage<span class="br0">&#41;</span>get<span class="br0">&#40;</span><span class="st0">&quot;folders&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>folders <span class="sy0">==</span> <span class="kw2">null</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; folders <span class="sy0">=</span> <span class="kw1">new</span> ContactsFolderStorage<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; folders.<span class="me1">setURL</span><span class="br0">&#40;</span><span class="sy0">&lt;</span>url<span class="sy0">&gt;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; folders.<span class="me1">setUserName</span><span class="br0">&#40;</span><span class="sy0">&lt;</span>username<span class="sy0">&gt;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; folders.<span class="me1">setPassword</span><span class="br0">&#40;</span><span class="sy0">&lt;</span>password<span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; folders.<span class="me1">open</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; put<span class="br0">&#40;</span><span class="st0">&quot;folders&quot;</span>, folders<span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> folders<span class="sy0">;</span><br />
<span class="br0">&#125;</span></div>
</div>
<p>Our storages support load-on-demand and filtering via Exchange functionality. The folder storage supports shared folders!</p>
<p>It's straight forward to create a master/detail relation between folders and contacts. We developed a simple sample application. </p>
<div id="attachment_2122" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.sibvisions.com/wp-content/uploads/2013/02/exchange_contacts.png" rel="lightbox[2116]"><img src="http://blog.sibvisions.com/wp-content/uploads/2013/02/exchange_contacts-300x225.png" alt="Exchange Contact Management" title="exchange_contacts" width="300" height="225" class="size-medium wp-image-2122" /></a><p class="wp-caption-text">Exchange Contact Management</p></div>
<p>And the best for last: Our storages are licensed under Apache 2.0.</p>
<p>The source code is available in our new project: <a href="http://sourceforge.net/projects/jvxstorages/">JVx Storages</a>.</p>
]]></content:encoded>
			<wfw:commentRss>https://blog.sibvisions.com/2013/02/24/jvx-with-exchange-servers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
