This website uses cookies for visitor traffic analysis. By using the website, you agree with storing the cookies on your computer.More information

JVx with Exchange Servers

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 get data from your Exchange server. There are some commercial Java products available but you don't need commercial products since Microsoft offers EWS Java API. 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.

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:

public IStorage getContacts() throws Exception
{
        ContactsStorage contacts = (ContactsStorage)get("contacts");
       
        if (contacts == null)
        {
                contacts = new ContactsStorage();
                contacts.setURL(<url>);
                contacts.setUserName(<username>);
                contacts.setPassword(<password);
                contacts.open();
               
                put("contacts", contacts);
        }
       
        return contacts;
}

That's enough to read and write contacts.

If you work with contact folders, simply use our storage for it:

public IStorage getFolders() throws Exception
{
        ContactsFolderStorage folders = (ContactsFolderStorage)get("folders");
       
        if (folders == null)
        {
                folders = new ContactsFolderStorage();
                folders.setURL(<url>);
                folders.setUserName(<username>);
                folders.setPassword(<password);
                folders.open();
               
                put("folders", folders);
        }
       
        return folders;
}

Our storages support load-on-demand and filtering via Exchange functionality. The folder storage supports shared folders!

It's straight forward to create a master/detail relation between folders and contacts. We developed a simple sample application.

Exchange Contact Management

Exchange Contact Management

And the best for last: Our storages are licensed under Apache 2.0.

The source code is available in our new project: JVx Storages.

Leave a Reply

Spam protection by WP Captcha-Free