16
Riva Integration Server - Deployment Guide Riva Integration Server Deployment Guide DRAFT Deployment Considerations www . rivacrmintegration . com www . omni - ts . com Last Updated: November 17, 2010 ________________________________________________________________________________________ DRAFT - www.omni-ts.com - Omni Technology Solutions, Inc. - Copyright 2010

Riva Integration Server - Omnidownloads.omni-ts.com/.../Riva-Integration-Server/...EWS is traditionally installed on the same server as Outlook Web Access (CAS - Client Access Server)

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Riva Integration Server - Omnidownloads.omni-ts.com/.../Riva-Integration-Server/...EWS is traditionally installed on the same server as Outlook Web Access (CAS - Client Access Server)

Riva Integration Server - Deployment Guide

Riva Integration Server

Deployment Guide

DRAFT

Deployment Considerations

www.rivacrmintegration.com

www.omni-ts.com

Last Updated: November 17, 2010

________________________________________________________________________________________DRAFT - www.omni-ts.com - Omni Technology Solutions, Inc. - Copyright 2010

Page 2: Riva Integration Server - Omnidownloads.omni-ts.com/.../Riva-Integration-Server/...EWS is traditionally installed on the same server as Outlook Web Access (CAS - Client Access Server)

Riva Integration Server - Deployment Guide

Table of Contents

What is this guide meant to provide?

Where should Riva be installed?

Who needs to be involved?

CRM Server - Things to know...

Exchange Server - Things to know...

Business Stakeholder - Things to know...

How to determine the version of Exchange?

Exchange 2010

Exchange 2007

Exchange 2003

How is the connection to Exchange made?

Exchange 2010

Exchange 2007 SP1+

Exchange 2003

How to find Exchange connection details?

Exchange 2010 and Exchange 2007 (On-Premise and Hosted)

Exchange 2003 on Local LAN

Exchange 2003 over Internet / RoH (using Outlook Profile)

Where is the CRM server?

System Requirements

Determining Your Synchronization Needs

What does Riva synchronize?

Synchronizing Address Books

Contact Creation - Matching the Parent Account

Synchronizing Calendars

Sync All New vs. Sync With Category

Filter by: All visible vs. Must be owner

Appointment vs. Meeting

Attendees

Maintaining Free/Busy Search

Private Appointments

Synchronizing the other modules

________________________________________________________________________________________DRAFT - www.omni-ts.com - Omni Technology Solutions, Inc. - Copyright 2010

Page 3: Riva Integration Server - Omnidownloads.omni-ts.com/.../Riva-Integration-Server/...EWS is traditionally installed on the same server as Outlook Web Access (CAS - Client Access Server)

Riva Integration Server - Deployment GuideEmail Integration

SmartConvert

Using the Creation Filter

AssignTo

Attachments and Documents

Custom Objects

Custom Filtering / Queries

Dealing with Mobility Synchronization

Mobility and the ConnectBar, SmartConvert and AssignTo Features

Preparing Your Environment

Prerequisites / Checklist

Security and Password

Preparing for Exchange 2010 and 2007

Preparing for Exchange 2003

Preparing for Salesforce.com

Riva Single Sign-On Provider

System Requirements

Delegated Authentication (Required)

Integrated Authentication - NTLM / Kerberos (Optional)

API Limit and Usage Metering

Preparing for Microsoft Dynamics CRM

Differences between On-Premise and Live Editions

Finding the Organization Name

Compatibility with Outlook Add-in

Preparing for SugarCRM

Contacts: Leveraging the “Sync to Outlook”

Your First Synchronization

Testing Scenarios

Address book Synchronization

Calendar Synchronization

Terminology

________________________________________________________________________________________DRAFT - www.omni-ts.com - Omni Technology Solutions, Inc. - Copyright 2010

Page 4: Riva Integration Server - Omnidownloads.omni-ts.com/.../Riva-Integration-Server/...EWS is traditionally installed on the same server as Outlook Web Access (CAS - Client Access Server)

Riva Integration Server - Deployment Guide

What is this guide meant to provide?Data integration projects can be tricky. Many factors can affect a deployment. Every environment and network is different, with combinations of hosted and/or on-premise services that make each deployment unique. This guide is meant to help provide a framework and create a deeper understanding of the decisions that need to be made to ensure a successful deployment. Use this guide as a companion guide when working through the administrator guide. The administrator guide provides step-by-step instructions on how to create connections and synchronization policies. This guide should help answer why one option should be selected versus another. The guides assume that all services, network connectivity and firewalls are properly configured and, in some cases, that administrator equivalent network and CRM credentials are available.

Where should Riva be installed?A number of factors affect the recommended location for the master Riva server. Most factors are dependent on network topology. Key questions need to be asked to help determine where Riva is best installed. Due to the core nature of the Riva synchronization engine, the closer the Riva services can be to both the mail and CRM systems in the network topology, the better. This reduces latency, bandwidth and improves network response times. Most environments already have everything needed to deploy a Riva Integration Server. There are no SQL database server requirements and in most configurations no firewall rule changes. Riva uses different API stacks depending on the target email and CRM platform. Most CRM connections make use of Web Services. In a highly distributed environment over slow WAN links, multiple Riva servers can be installed. However, installing multiple Riva servers does increase overall management overhead and increases the likelihood of misconfiguration. Contact Omni Support directly for configuration considerations.

Who needs to be involved?Different line of business applications have different security policies and different administration staff assigned to manage them. When integrating different types of applications, multiple stakeholders and resources need to be available. To deploy Riva, the following expertise and resources might be required. These will depend on what and how your environment is configured.

________________________________________________________________________________________DRAFT - www.omni-ts.com - Omni Technology Solutions, Inc. - Copyright 2010

Page 5: Riva Integration Server - Omnidownloads.omni-ts.com/.../Riva-Integration-Server/...EWS is traditionally installed on the same server as Outlook Web Access (CAS - Client Access Server)

Riva Integration Server - Deployment Guide

CRM Server - Things to know...Basic knowledge of what CRM version, service pack, whether hosted or on-premise. All CRM connections will require that an “administrator” equivalent account be identified and configured in order to allow for each individual user account to be impersonated.

Exchange Server - Things to know...Basic knowledge of the Exchange version and where the Exchange server is located in the network topology. An “administrator” equivalent account be identified and configured in order to allow for each individual user account to be impersonated. This is referred to as “Full Access permissions”, “delegate access” or “impersonation” depending on the version of Exchange.

Business Stakeholder - Things to know...A clear understanding of the desired integration will greatly help improve the deployment. Knowing how the different roles and responsibilities of the business users and how they interact with each system is key. Creating different “Profiles” based on how different user groups work, whether primarily in the CRM vs. Windows desktop users vs. Mac desktop users vs. roaming mobile users or a combination. These different user group types may be different integration and synchronization needs. Keep in consideration the amount of data each user will need synchronized, how much historic data is really needed. Eg: Do junior sales associates need to have 5,000 contacts on their BlackBerry’s? How the difference in security and permissions models between Exchange and the CRM is dealt with will be determined by your users’ expectations. Now that multiple systems are being integrated together, the separation between data silo ownership will no longer as defined and clear cut.

How to determine the version of Exchange?The version of the Outlook client does not always match the version of Exchange. Because the version of Exchange is not directly linked to the version of Outlook, (eg: a desktop might be using Outlook 2007 against Exchange 2003), always check the version of Exchange running on the server. The easiest way to determine the version of Exchange is to connect to the Outlook Web Access server.

Exchange 2010Default URL: https://owa.mycompany.domain/owa/

________________________________________________________________________________________DRAFT - www.omni-ts.com - Omni Technology Solutions, Inc. - Copyright 2010

Page 6: Riva Integration Server - Omnidownloads.omni-ts.com/.../Riva-Integration-Server/...EWS is traditionally installed on the same server as Outlook Web Access (CAS - Client Access Server)

Riva Integration Server - Deployment Guide

Exchange 2007Default URL: https://owa.mycompany.domain/owa/

Exchange 2003Default URL: https://owa.mycompany.domain/exchweb/Default URL: https://owa.mycompany.domain/exchange/

________________________________________________________________________________________DRAFT - www.omni-ts.com - Omni Technology Solutions, Inc. - Copyright 2010

Page 7: Riva Integration Server - Omnidownloads.omni-ts.com/.../Riva-Integration-Server/...EWS is traditionally installed on the same server as Outlook Web Access (CAS - Client Access Server)

Riva Integration Server - Deployment Guide

How is the connection to Exchange made?

Exchange 2010Similar to Exchange 2007, Microsoft Exchange Web Services (EWS) are used to connect to Exchange 2010. The release of Exchange 2010 included many improvements to the EWS feature set and the deprecation of WebDAV. EWS 2010 now completely replaces the WebDAV features and the WebDAV API is no longer used. EWS is traditionally installed on the same server as Outlook Web Access (CAS - Client Access Server). If EWS is not available, the Exchange 2003 Extended MAPI connection type is available.

Exchange 2007 SP1+The Microsoft Exchange Web Services (EWS) and Microsoft Exchange WebDAV API are used. The core synchronization capabilities are made via EWS and supplementary capabilities like pre-defining custom fields on a folder and extending the Master Category List are made using WebDAV. Both the EWS and WebDAV API are traditionally installed on the same server as Outlook Web Access (CAS - Client Access Server). If EWS is not available, the Exchange 2003 Extended MAPI connection type is available.

Exchange 2003The connection API used for Exchange 2003 is the Microsoft Extended Messaging API (MAPI). MAPI makes use of RPC (Remote Procedure Call). The design around MAPI and RPC make it a very chatty service and can use many different TCP ports. For sites where the Exchange server is off-site or hosted, an additional tunnelling over HTTP (RPC-over-HTTP / RoH / Outlook Anywhere) can be used to simplify firewall rules. The RoH server component is traditionally installed on the same server as Outlook Web Access (CAS - Client Access Server).

________________________________________________________________________________________DRAFT - www.omni-ts.com - Omni Technology Solutions, Inc. - Copyright 2010

Page 8: Riva Integration Server - Omnidownloads.omni-ts.com/.../Riva-Integration-Server/...EWS is traditionally installed on the same server as Outlook Web Access (CAS - Client Access Server)

Riva Integration Server - Deployment Guide Office Outlook 2003, 2007, 2010 MUST be installed on the Riva server to provide the Extended MAPI provider. Because of the Outlook client requirement, it is not recommended to install Riva on your Exchange server.

How to find Exchange connection details?Depending on the version of Exchange and connection methods, different information needs to be gathered prior to creating your Riva connection.

Exchange 2010 and Exchange 2007 (On-Premise and Hosted)Riva for Exchange 2010 and 2007 uses EWS for the connection. These are the same services used by Outlook Web Access (OWA) to connect to Exchange. EWS is accessed via the CAS server. You will need to provide the URL to theOWA server, the account and password. To confirm the availability of EWS, login to OWA from the Riva server. If you are unable to login to the Exchange account with OWA, you will need to confirm the configuration information with your hosting provider or carry out the tests below. You can use the following methods to test the availability of EWS:

1. Using a browser, connect to to the service. Add /EWS/Exchange.asmx to the path of your Outlook Web Access domain. https://owa.my-company.local/EWS/Exchange.asmx

2. To test Internet or remote access, you can use the following Microsoft testing service.

Under the “Microsoft Exchange Web Services Connectivity Tests” header, select the “Synchronization, Notification, Availability, and Automatic Replies (OOF)” https://www.testexchangeconnectivity.com/

For most on-premise Exchange environments, a single Exchange CAS (Client Access Server) is installed. Some larger deployments might have multiple CAS available, eg: one for end-users and another for applications. Determine the best CAS server for your organization. If the connection tests fail, it may be because your hosted Exchange provider uses a different URL for EWS. If the hosting provider does not advertise the EWS URL, other services that use EWS are listed below. If these services are available, use the same connection information for Riva as for the following clients:

● Microsoft Entourage 2008 - Web Service Edition (link)● Mac Mail - Mac OS X 10.6 Snow Leopard (link)

Exchange 2003 on Local LANThe ideal location for the the Riva server is on the same segment, virtual LAN or data center as the Exchange mailbox store. Use the same ‘Microsoft Exchange server’ address used on an Outlook profile:

________________________________________________________________________________________DRAFT - www.omni-ts.com - Omni Technology Solutions, Inc. - Copyright 2010

Page 9: Riva Integration Server - Omnidownloads.omni-ts.com/.../Riva-Integration-Server/...EWS is traditionally installed on the same server as Outlook Web Access (CAS - Client Access Server)

Riva Integration Server - Deployment Guide

Exchange 2003 over Internet / RoH (using Outlook Profile)For hosted or off-site Exchange environments needing to connect over the Internet or WAN, a tunnelling method over HTTP / HTTPS is used. This functionality can only be enabled on an Outlook profile and requires the pre-creation of the Outlook profile. When creating the Outlook Profile, do not enable “Cached Exchange Mode”.

Where is the CRM server?Coming soon.

System RequirementsSee: http://www.rivacrmintegration.com/crm/tech-specs/

○ Processor○ Memory○ Disk / IO○ Network Bandwidth○ Virtualization / Virtual Environment○ Sample 100 User Deployment

Determining Your Synchronization Needs

What does Riva synchronize?

Synchronizing Address BooksContacts, Accounts and Leads Coming soon.

________________________________________________________________________________________DRAFT - www.omni-ts.com - Omni Technology Solutions, Inc. - Copyright 2010

Page 10: Riva Integration Server - Omnidownloads.omni-ts.com/.../Riva-Integration-Server/...EWS is traditionally installed on the same server as Outlook Web Access (CAS - Client Access Server)

Riva Integration Server - Deployment Guide

Contact Creation - Matching the Parent AccountComing soon.

Synchronizing CalendarsAppointments and Phone Calls

Sync All New vs. Sync With CategoryComing soon.

Filter by: All visible vs. Must be ownerComing soon.

Appointment vs. MeetingIn Outlook two options are presented when scheduling calendar activities, appointments and meetings. Appointments are used to schedule calendar activity without including any attendees, and are synchronized as as regular CRM appointment with no attendee. Meetings are used to schedule calendar activity with attendees. Any time the scheduling assistant is used in Outlook, the resulting calendar item is a Meeting. To schedule a meeting with another user, contact or lead, use the scheduling assistant. It is possible to save the meeting without sending the invitation request. Sending the invitation request is not required for the appointment to be created in the CRM. This will create the appointment in the CRM and relate to the identified attendees.

AttendeesAttendees are matched based on the email address, first matching against existing system users, then contacts, then leads. Depending on the configuration, if no matches are found, a new contact or lead will be generated.

Maintaining Free/Busy SearchIf the CRM is used for appointment scheduling, it is very important that the free/busy schedule be up to date in Exchange and the CRM to avoid double booking and allowing users to rely on the state of the free/busy information. In order for the free/busy data to be fully synchronized, the “Sync All New” option must be selected.

Private AppointmentsBy default the synchronization engine supports appointments marked as private in two different methods depending on the CRM. If a user flags an appointment as private, Riva will synchronize the appointment. This

________________________________________________________________________________________DRAFT - www.omni-ts.com - Omni Technology Solutions, Inc. - Copyright 2010

Page 11: Riva Integration Server - Omnidownloads.omni-ts.com/.../Riva-Integration-Server/...EWS is traditionally installed on the same server as Outlook Web Access (CAS - Client Access Server)

Riva Integration Server - Deployment Guidewill cause the free/busy schedule to be maintained in the CRM. In Outlook 2007, to set the appointment as private, toggle the lock icon as seen below:

Riva will handle all private appointments the same way regardless of whether the "Sync All New" or the "Sync With Category" options are defined. If the CRM appointment already supports the concept of a private flag, then the flag will be set and control of who can see the appointment content and how the CRM secures privacy is the responsibility of the CRM. For a CRM that does not support the concept of a private appointment, the appointment undergoes a process of being “privatized” prior to being created in the CRM. The "privatize" process will:

● replace the subject with "Private Appointment".● clear the recipients, attachments, location and body contents.● the CRM appointment will be considered read-only, which means that any changes made in CRM are

reverted, including deletes, which will cause the item to be re-created in the CRM.

Synchronizing the other modulesComing soon.

Email IntegrationComing soon.

SmartConvertComing soon.

Using the Creation FilterComing soon.

AssignToComing soon.

Attachments and DocumentsComing soon. Check CRM file size restrictions.

________________________________________________________________________________________DRAFT - www.omni-ts.com - Omni Technology Solutions, Inc. - Copyright 2010

Page 12: Riva Integration Server - Omnidownloads.omni-ts.com/.../Riva-Integration-Server/...EWS is traditionally installed on the same server as Outlook Web Access (CAS - Client Access Server)

Riva Integration Server - Deployment Guide

Custom ObjectsMost CRM vendors allow for the creation of custom objects to represent vertical specific data. Riva can be extended to become aware of these objects, allowing email to be assigned.

Custom Filtering / QueriesThe amount of data available in the CRM can be overwhelming. Custom queries can be used to ensure the most relevant data is synchronized, keeping the volume of data presented to the user at a manageable level. A CRM synchronization policy can have a custom query for each of the different types of objects. The custom queries can be used to filter out unneeded data or make more data available to the user. Depending on the business rules and processes different types of filters can be created. These filters can be created against custom fields or more complex custom objects.

Dealing with Mobility SynchronizationWith different mobile devices and mobile operating systems coming out constantly, there are many variables to take into account. Different devices will behave differently with large number of contacts or calendar items. Check the device manufactures recommended specifications to be aware of any recommended limits. Mobile Operating Systems known to support Exchange synchronization:

● Windows Mobile (ActiveSync)● BlackBerry (BlackBerry Enterprise Server - BES)● iPhone, iTouch, iPad (ActiveSync)● Android (ActiveSync)

Mobility and the ConnectBar, SmartConvert and AssignTo FeaturesEnabling mobile devices to synchronize additional folders will allow your users to access the more advanced features available with the Riva email integration. See the device manufactures user manual for directions on enabling non-default folder synchronization. This knowledge-base article covers some common device manufactures:http://kb.omni-ts.com/index.php?View=entry&EntryID=126 Windows Mobilehttp://www.geardiary.com/2008/08/19/how-to-synchronize-multiple-mail-folders-in-windows-mobile-61/ iPhonehttp://hci-user-advocate.blogspot.com/2009/06/hidden-iphone-30-os-feature-sync.html BlackBerry

________________________________________________________________________________________DRAFT - www.omni-ts.com - Omni Technology Solutions, Inc. - Copyright 2010

Page 13: Riva Integration Server - Omnidownloads.omni-ts.com/.../Riva-Integration-Server/...EWS is traditionally installed on the same server as Outlook Web Access (CAS - Client Access Server)

Riva Integration Server - Deployment Guidehttp://www.blackberryforums.com/rim-software/57503-sync-mail-folders-other-than-inbox.html

Preparing Your Environment

Prerequisites / ChecklistComing soon.

Security and PasswordComing soon.

Preparing for Exchange 2010 and 2007Coming soon.

Preparing for Exchange 2003● Connection type selection: Direct or Profile

○ Direct: MAPI Client Library○ Profile: Outlook Client

Preparing for Salesforce.com

Riva Single Sign-On ProviderIn order for the synchronization engine to fully comply with user data, profile, role and territory security, the Riva Salesforce.com Single Sign-on Provider must be installed.

System Requirements● Windows Server 2003 / 2008● ASP.NET 2.0● Internet facing URL● IIS Website with valid Trusted SSL Certificate:

http://wiki.developerforce.com/index.php/Outbound_Messaging_SSL_CA_Certificates● Salesforce organization must have SSO enabled (contact Salesforce support for free activation)

________________________________________________________________________________________DRAFT - www.omni-ts.com - Omni Technology Solutions, Inc. - Copyright 2010

Page 14: Riva Integration Server - Omnidownloads.omni-ts.com/.../Riva-Integration-Server/...EWS is traditionally installed on the same server as Outlook Web Access (CAS - Client Access Server)

Riva Integration Server - Deployment GuideThe Salesforce SSO provider runs as an IIS ASP.NET web application that can be deployed to an existing website that already has a valid certificate. Since most Exchange CAS (Outlook Web Access) server already have a valid certificate, deploying the SSO provider to a virtual directory will allow an existing certificate to be used. For authentication to Active Directory, access to an Active Directory domain controller is required with credentials to search the domain. Connectivity to the domain controller uses the LDAP protocol and can be configure for SSL (port 636) or non-SSL (port 389).

Delegated Authentication (Required)Once the the SFDC organization has been enabled for Single Sign-on (SSO), authentication requests for users configured with SSO are directed to an other authentication source, usually Active Directory, LDAP or another web application. All communication can be SSL encrypted. The delegation of Salesforce authentication to a corporately managed authentication source reduces password related support costs and enforces corporate password policies. The user Salesforce.com email or login name must match the Active Directory user principal name or email address attributes. The SSO provider runs as an IIS Web Application created using Microsoft .NET with support for 32-bit and 64-bit architectures. It can be deployed on any existing IIS Web Server and can be deployed in a DMZ. It is available separate from the standard installation.

Integrated Authentication - NTLM / Kerberos (Optional)In addition to delegated authentication an optional Active Directory Integrated Authentication is available. For organization that which to remove the double authentication requirements with Salesforce or integrate with a existing web portal, an integrated URL can be designated as being a trusted URL, allowing any user already authentication to the Active Directory environment to be automatically logged into Salesforce. An example of this integration would allow any user logged-in to a desktop that is a member of an Active Directory domain to access Salesforce using their existing NTLM / Kerberos credentials. Then, when accessing a URL like http://sf.omni-ts.com/ or http://salesforce/, the user is redirected to Salesforce without having to authenticate. Internet Explorer natively supports integrated authentication and an add-in is available for FireFox. If the user is using a browser that does not support integrated AD authentication or is not currently authenticated to Active Directory, a standard browser authentication pop-up would be displayed requesting Active Directory credentials. The internet domain suffix must match trusted Active Directory domain names for the NTLM credentials to be automatically sent to IIS. This integration reduces the overhead caused by the user having to contently re-authenticate to Salesforce and can be used for integration into existing company portals. Also, because this integration implements a token based authentication method, password security is increased by never sending the users corporate credentials and password over the Internet to Salesforce.com.

________________________________________________________________________________________DRAFT - www.omni-ts.com - Omni Technology Solutions, Inc. - Copyright 2010

Page 15: Riva Integration Server - Omnidownloads.omni-ts.com/.../Riva-Integration-Server/...EWS is traditionally installed on the same server as Outlook Web Access (CAS - Client Access Server)

Riva Integration Server - Deployment Guide

API Limit and Usage MeteringTo ensure high service levels and quality, Salesforce.com (SFDC) restricts the number of API calls made to their services. For Salesforce Professional and Enterprise editions, each organization receives a total of 1,000 API calls per User in a 24 hour period, up to an organization-wide maximum of 1,000,000 API calls. Salesforce Unlimited has a 5,000 API call per User limit, up to a organization-wide maximum of 5,000,000 API calls. Example: If an organization using Professional edition has 50 Users, SFDC allows the organization to make 50,000 API calls per 24 hr period. When an organization exceeds a limit, all users in the organization will temporarily be blocked from making any additional calls.

You can review the limits in place here: Salesforce.com API Limit and Usage Metering

Preparing for Microsoft Dynamics CRM

Differences between On-Premise and Live EditionsComing soon.

Finding the Organization NameComing soon.

Compatibility with Outlook Add-inFull compatibility and interoperability with the existing Microsoft Dynamics Outlook Add-in provides the best of both worlds, removing the need to choose between server-side and client-side integration. Ensure the E-mail Router is installed and working. See the Microsoft deployment guide. Microsoft Dynamics CRM 4.0 E-mail Router - Deployment Guidelines

http://rc.crm.dynamics.com/rc/regcont/en_us/op/articles/configrouter.aspx

Preparing for SugarCRM

________________________________________________________________________________________DRAFT - www.omni-ts.com - Omni Technology Solutions, Inc. - Copyright 2010

Page 16: Riva Integration Server - Omnidownloads.omni-ts.com/.../Riva-Integration-Server/...EWS is traditionally installed on the same server as Outlook Web Access (CAS - Client Access Server)

Riva Integration Server - Deployment Guide

Contacts: Leveraging the “Sync to Outlook”SugarCRM provides the ability to let each user to choose which Contacts are to be synchronized. Riva is compatible with this built in option.

This option can be enabled on the SugarCRM connection.

Your First SynchronizationComing soon.

Testing ScenariosComing soon.

Address book SynchronizationComing soon.

Calendar SynchronizationComing soon.

TerminologyTERM DEFINITION

EWS Microsoft Exchange Web Services

MAPI Microsoft Messaging API

RPC Remote Procedure Call

RoH RPC-over-HTTP or Outlook Anywhere

SFDC Salesforce.com (SalesForce Dot Com)

________________________________________________________________________________________DRAFT - www.omni-ts.com - Omni Technology Solutions, Inc. - Copyright 2010