920 likes | 1.32k Vues
Agenda. OverviewIntroduction To CASAHLMicrosoft For Lotus Notes UsersAnalyzing Lotus Notes ApplicationsIntegrating Notes Applications With Microsoft Platform using ecKnowledgeLab 1 SharePointLab 2 ASP.NET and InfoPath, Data Transformations, Managing ecKnowledgeLab 3 Certification Exerc
E N D
1. Integrate, Extend, or Migrate IBM Lotus Notes/Domino Applications to SharePoint, InfoPath, SQL Server, and VS.NET Sudeep TrivediChief Technology Officer
CASAHL Technology, Inc.
2. Agenda Overview
Introduction To CASAHL
Microsoft® For Lotus Notes Users
Analyzing Lotus Notes Applications
Integrating Notes Applications With Microsoft Platform using ecKnowledge
Lab 1 – SharePoint
Lab 2 – ASP.NET and InfoPath, Data Transformations, Managing ecKnowledge
Lab 3 – Certification Exercises
Summary
3. CASAHL Background Founded In 1993
Started out by licensing NotesSQL ODBC driver to Lotus
Singularly focused on enhancing the collaboration platforms
Products to integrate, extend, and/or migrate collaborative applications
Over 1,000 customers worldwide
CASAHL products have consistently won industry awards for best integration tools The company is founded in 1993.
Casahl has developed the first NotesSQL ODBC driver to connect the Lotus world to the rest of the technologies. This driver has since licensed to Lotus and has more than a million users in this community worldwide.
In 1995, Casahl launched her first award winning Data Integration product for Lotus Notes, this product allows organization to link the Notes applications to applications residing in other technologies. It has been in the awarding winning list ever since.
In 1997, taping on the expertise on both Notes and MS Exchange, Casahl launched yet another award winning Data Integration product to bridge the Microsoft and Lotus world as well as the eBusiness community.
We have more than 1000 customers worldwide, including most of the Fortune 500 and Global 1000 companies.
And we are continuing to build products based on the experience we gained from these companies.
The company is founded in 1993.
Casahl has developed the first NotesSQL ODBC driver to connect the Lotus world to the rest of the technologies. This driver has since licensed to Lotus and has more than a million users in this community worldwide.
In 1995, Casahl launched her first award winning Data Integration product for Lotus Notes, this product allows organization to link the Notes applications to applications residing in other technologies. It has been in the awarding winning list ever since.
In 1997, taping on the expertise on both Notes and MS Exchange, Casahl launched yet another award winning Data Integration product to bridge the Microsoft and Lotus world as well as the eBusiness community.
We have more than 1000 customers worldwide, including most of the Fortune 500 and Global 1000 companies.
And we are continuing to build products based on the experience we gained from these companies.
4. CASAHL Background Leader in Lotus Notes integration market since 1995
Leader in integrating Microsoft Exchange public folder applications since 1997
Close partnership with Microsoft on integrating, co-existing, or migrating Lotus Notes applications to Microsoft Exchange, SharePoint, SQL Server, InfoPath, and .NET
5. CASAHL ProductsIntegrate, Extend, and/or Migrate Collaborative Applications
6. CASAHL And Microsoft Partnership Toolset
Developer of Application Analyzer for Lotus Notes
ecKnowledge is Microsoft’s preferred solution for connecting with Lotus Notes
Training the partners and Microsoft field on the tools
Presenting at the Microsoft conferences and trade shows
About to jointly launch GTM campaign
7. Compelling new collaboration platform in SharePoint® Products and Technologies and Office 2003
Familiar Office rich-client experience
Adopt .NET as standards-based application development platform
Build portal strategy around SharePoint and .NET
Reduce TCO through consolidation of messaging and collaboration platforms Lotus Notes/Domino And Microsoft Platform
8. Integrate and extend Lotus Notes applications to Microsoft platform
Least disruptive way to introduce Microsoft products
Immediately start to see the benefits
Migrate to Microsoft platform
Maximum savings on TCO
Requires extensive planning; can be disruptive if a period of coexistence is not offered Approaches For Introducing Microsoft Technologies
9. Strategies For Integrating, Extending, or Migrating Analyze the existing applications to understand their usage and complexity
Always implement a phased approach
Take advantage of best-of- breed products from Microsoft
Start with the most common, template-based applications first
Evaluate the business functions of the most complex applications Coming from IBM perspectives, it is a push factor as IBM is targeting at the Notes user bases to get their customers to migration to WebSphere and J2EE platform.
From Microsoft perspectives, this is the first step where Microsoft can move into the IBM dominant market.Coming from IBM perspectives, it is a push factor as IBM is targeting at the Notes user bases to get their customers to migration to WebSphere and J2EE platform.
From Microsoft perspectives, this is the first step where Microsoft can move into the IBM dominant market.
10. Toolset Microsoft Application Analyzer (developed by CASAHL)
CASAHL’s ecKnowledge® for data and application coexistence and migration There are two categories of migration toolsets:
The Messaging and the Applications.
We will not cover Messaging in this lab. But all the information and applications are on the CD that you have, please take your time to go through them and learn how to use them.
We will cover the Application Analyzer and ecKnowledge® toolsets for migration and co-existence of the Lotus Notes applications to Microsoft platform.There are two categories of migration toolsets:
The Messaging and the Applications.
We will not cover Messaging in this lab. But all the information and applications are on the CD that you have, please take your time to go through them and learn how to use them.
We will cover the Application Analyzer and ecKnowledge® toolsets for migration and co-existence of the Lotus Notes applications to Microsoft platform.
11. Application Analyzer Analyzes Lotus Notes and Domino applications for complexity, scale, and usage
Collects information about Lotus Notes and Domino applications and generates reports
Two program components
Data Collector
Data Processor
12. Application Analyzer Collects raw data about Lotus Notes databases in an organization
Calculates statistics on size, design elements, usage, etc.
Prepares collection of reports offering deep analysis on structure and usage How does Application Analyzer works? //follow the flow//
The first component, Data Collector will collect information on the Lotus Notes databases within an organization. The databases can either be residing on a single server or in a server farm depending on the ACL of the person running the application. An encrypted file will be generated from the Data Collector.
This encrypted file will be sent to either an MSP or MCS for further processing. The MSP or MCS will use the Data Processor component to decrypt the files and process the information.
The Data Processor will generate reports for the migration or co-existing strategy.
How does Application Analyzer works? //follow the flow//
The first component, Data Collector will collect information on the Lotus Notes databases within an organization. The databases can either be residing on a single server or in a server farm depending on the ACL of the person running the application. An encrypted file will be generated from the Data Collector.
This encrypted file will be sent to either an MSP or MCS for further processing. The MSP or MCS will use the Data Processor component to decrypt the files and process the information.
The Data Processor will generate reports for the migration or co-existing strategy.
14. Categorizing Lotus Notes Applications
15. ecKnowledge® Integrate, extend, and/or migrate Notes Applications to Microsoft platform
Wizard-based UI, coupled with enterprise strength server
Vast connectivity to Microsoft servers and other enterprise backend systems
Helps bring down the total cost of the projects ecKnowledge® also allows you to migrate and co-exist Notes applications with Microsoft best of breed servers.
It provides you with easy to use wizard which allows you to create or maintain the migration applications.
It is highly scalable and provides seamless integration to enterprise backend systems.
ecKnowledge® also allows you to migrate and co-exist Notes applications with Microsoft best of breed servers.
It provides you with easy to use wizard which allows you to create or maintain the migration applications.
It is highly scalable and provides seamless integration to enterprise backend systems.
16. Leverage Rich Microsoft Target Set You can now map mission-critical Notes contents to any Microsoft best of breed servers with ecKnowledge® as the bridging tool.
Some examples are Microsoft Exchange server, SQL server, SPS/STS servers, Active Directory Site servers, as well as Web Services
You can now map mission-critical Notes contents to any Microsoft best of breed servers with ecKnowledge® as the bridging tool.
Some examples are Microsoft Exchange server, SQL server, SPS/STS servers, Active Directory Site servers, as well as Web Services
17. SharePoint Products and Technologies Candidate for most of the common Lotus Notes applications
Team room and Discussion
Document Library
Group/Team Task, To-Do, and Calendar
Simple custom applications
ecKnowledge provides a connector for easy mapping to SharePoint
19. SQL Server Most appropriate data store for many transactional, self-service, and LOB Notes applications
ecKnowledge provides connectivity to SQL Server with support for:
Normalization of Lotus Notes data
Creation of table schema
Synchronization, with configurable behavior
Notes-rich text and attachments
21. Jump-start application migration to Visual Studio® .NET and InfoPath™
Automatically generates code and .NET application framework
Choice of application architecture – ASP.NET/Web Form or Windows Form
Resulting code engineered to follow Microsoft best practices
Application structure based on Microsoft Pet Store 3.0 application ecKnowledge .NET Application Generation
23. Application Generation Benefits Cost savings on effort
Incorporates architectural best practices in the code
Quick and easy way to build proof-of-concept
LotusScript and formulas available in the target environment
Jump-start to Notes developers
24. Microsoft Office InfoPath 2003 New product in Office System 2003
RAD environment
Easy to add data validation and script events
Very compelling to Lotus Notes developers
Publish to SharePoint form library for sharing
26. ecKnowledge Summary Comprehensive environment to manage coexistence and migration from Notes
Notes applications can be mapped to entire range of Microsoft servers
Brings down the total cost of projects
28. ecKnowledge Components
29. Composer App development environment:
GUI for creating and modifying ecKnowledge® objects
All objects defined through the Composer can be shared among different ecKnowledge® applications and developers
30. Server Windows Service or Console version
Event logging
Performance monitoring
Load balancing and fail-over
31. Server Manager Graphical user interface to administer all ecKnowledge® Servers on the network:
Remotely execute jobs on an ad- hoc basis
Manage multiple Servers and job queues
View Server activity and history
Configure server
32. Developing ecKnowledge® Applications Step 1 – Plan the integration solution
Determine the data flow points in the business process
For each data flow point, determine the meta-data model and schemas
Model the mappings between data sources and design any transformations
Design the architecture of the application
Event-based or scheduled
Sequencing or individual work units
Number of read/write transactions expected per-hour or per-day
33. Developing ecKnowledge® Applications Step 2 – Develop, Test, Deploy
Create data sources and connections
Create a job with appropriate mappings
Add optional components, such as data transformations
Create event-based invocation scripts, if needed
Test the application using subset of production data
Perform pilot test with active users
Deploy in production
35. Summary Of Job Creation Demo Source and Target connections and tables/forms
Column Mapping
One-way or two-way replication
Filter conditions, and operations such as Insert, Update, Delete
Timestamp or signature
Schedule
Execution Control
Load balancing, job sequencing, logging, error handling
Notifications
36. Summary of Replication Job Demo Source and Target connections and tables/forms
Column Mapping
One-way or two-way replication
Parameters
Filter conditions, and operations such as Insert, Update, Delete
Advanced parameters for Lotus Notes
37. Summary of Replication Job Demo Timestamp or signature
Schedule
Execution Control
Load balancing, job sequencing, logging, error handling
Notifications
39. Exercise Scenario Lotus Notes Document Library
Goal
Transfer and synchronize all documents in Notes document library with WSS
Once the documents are available in WSS
Check in, Check out
Revision history
Collaboration
40. ecKnowledge® Demo Notes Document Library to WSS Let’s take a look at these ecKnowledge® components in the context of real life migration of a Notes CRM to SQL Server.
ecKnowledge® Composer is the application development environment. When you start up the composer, you will see a tree view of different objects and the category of objects in the ecKnowledge® systems. These objects are non-programming objects. You create these by filling out information in the composer wizards and dialog boxes. These objects together, will make up your migration and co-existence applications.
ecKnowledge® Server, allows you to manage the server, locally or remotely. It allows you to start and stop the servers, looking at task current activities, histories and monitoring migration jobs.
Let’s use these two components to build a real life migration and co-existing example application.
WWI uses the Notes Sales Tracking database to keep track of their prospects. The information includes contact information, company profiles and sales goal and strategies.
This application, can be rebuild using Microsoft technology, such as using Visual.Net and MS SQL server as the data store for this applicaiton.
Let’s take a look at the corresponding table in MS SQL server that represent the forms in Notes application. This AccountProfile table in the SQL server is currently empty. Will use ecKnowledge® components to link up the Lotus Notes account form with the SQL server tables.
In the Composer tree-view, there are two main categories. One is called JOBS, these are the objects that can be run by the ecKnowledge® Server, and the COMPONENT OBJECTS, in which you will use it to build the migration or co-existence objects. In this application, you may want to build an REPLICATION JOB in which you will synchronizes the information from Lotus Notes Account Profile form with the Account Profile table in the SQL server
You can always right click on the JOB TYPE to start the wizard to create the job, or you can click on the CREATE menu and choose the REPLICATION options to start the wizard.
The wizard will guild you step by step to the different options that you need to specify to create this co-existence application.
On the first screen, it will allow you to create a connection your source system. In this case, it will be Lotus Notes. If you already have a connection, you can drop down the list and choose the connection. Otherwise, you can click on the CREATE NEW CONNECTION button to create this connection to Lotus Notes.
First thing you would do, is give a name to the Connection object. We call it the Training Notes CRM. Then, you drop down the CONNECTION TYPE LIST and choose the type of this connection to your source database. Based on the CONNECTION TYPE selected, the rest of the screen will allow you to enter the information required to make a connection to that system. Remember you would need to have the client software configured in order to allow you to choose the connection type.
You can select a Lotus Notes database from the Domino server, or you can select a database local on this computer. Once you specify the information required for the connection, you can hit ok and that connection will be available to you in the source wizard.
Once the connection is established, ecKnowledge® will retrieve the meta-data from that system. In case of Lotus Notes
It will be the list of the Forms and Views in the database selected in the connection. Will go ahead to use the ACCOUNT PROFILE FORM for this application.
The next step would be to specify a similar connection to the Target system. I can go ahead and select the pre-define connection to SQL server. When you click on the Properties of the Connection, you can see how you can configure the name of the SQL server to connect to, and the database which contains the table that we want to integrate with Lotus Notes.
Once you select the connection to SQL server, ecKnowledge® will retrieve the list of Tables, Views and Stored Procedure that you can use from the SQL server. In this application, we will use the ACCOUNT PROFILE TABLE on the SQL server.
The next step is to specify to ecKnowledge® whether this application is a replication or a synchronization. For replication, chose the One-Way Replication button. For Synchronization between the two systems, choose, the Two-Way Synchronization button. If you are planning for co-existing the Lotus Notes application with SQL server, you might want to use the two way replication option.
After you have specify the source and target systems, and choose the tables and forms of interest, you will need to specify mapping between columns and attributes of the fields between these two systems. You can do that by click on the COLUMN MAPPING button.
For the column which has same or similar names, ecKnowledge® can automatically match those columns for you. In the following screen, you will see on the Left side, the list of fields from the source system, which is the Lotus Notes ACCOUNT PROFILE form. On the right side, you will see a list of columns from the SQL server dbo.AccountProfile table. In the middle, you will see a list of columns that have been mapped between these two systems by ecKnowledge®. For columns with dissimilar names, you can select the column from the left list from the Lotus Notes application, and you can select corresponding column from SQL server can click on the Add button.
As you can see, once you click on a column, ecKnowledge® will display the attributes of the field such as name, data type and length for your information. Let’s go ahead and map the rest of the columns between these two systems.
After you have done mapping the columns between the two systems, you would need to specify one or more column as the key to uniquely identify the records on the target system. You can choose single unique key or compound keys.
So far, we have specify the connection to the two systems and the column mapping between the two systems. The rest of the screens will have an option to fine tune the behavior of this replication task and to specify any additional parameters. For example, you can choose whether you would like to replicate Insert of the new data, Update or Delete made on the Lotus Notes applications to the SQL server. You can also filter the data coming thru by specifying a filter condition. The syntax of the filter conditions depend on the system specify as a source or target. In this case, since Lotus Notes is the source, the filter condition for source should be specify in Lotus Notes formula syntax. For the target systems, which is SQL server, it would be in the SQL WHERE clause syntax. For example, I could specify COMPANY OWNERSHIP = ‘PUBLIC’ to filter the record for only the publicly listed companies.
ecKnowledge® can also use a TimeStamp column to perform a very efficient replication of the information. With this timestamp, it can detect just the changes made to the systems so that only those changes are brought over to the target system. If you do not have a timestamp column such as LastModify, $Modify, you could also use a signature base algorithm to detect the changes.
We have specified all the required parameters for this application job. For the rest of the screen, you could leave the default parameters and click NEXT. On the EXECUTION CONTROL screen, an important parameter to note is the COMPUTER NAME field on the top. If you specify a computer name, then only the ecKnowledge® Server installed on that computer will execute this particular job. If you leave the field blank, any ecKnowledge® Server which is least loaded will pick up this particular job. You are also able to sequence different ecKnowledge® activities one after the other based on a successful execution or on error execution.
The replication task that we have created can be specified on a scheduled basis or you can invoke this job from your application using the ecKnowledge® COM or XML interface. You can always invoke this job ad-hoc basis from Composer or ecKnowledge® Server Manager.
This screen allows you to specify any administrative notification that ecKnowledge® should send out on the successful execution of this job or in case of error.
Finally, you need to enter an unique name for this job and optionally give a category.
When you click FINISH, this replication object is saved within ecKnowledge® system. If you want to make any modification to the job, you can double click on the name of the job and it will open up the properties sheet view which will let you specify any additional parameters.
We are now ready to run this application using the exKnowledge Server. To run this application on ad-hoc basis, you could right-click on the job name in the tree, and click on the SUBMIT JOB button or you could also go to the Server Manager program to initial this job.
This job has now been submitted to the ecKnowledge® Server for processing. You can always go to the Server Manager component to look at the current activities of the server, or you could also look at the activities history which will show you the execution of this particular task. When you double click on the task, you can look at the details of this activity, and you can see right here that this replication has migrated 47 records from Lotus Notes forms to the SQL Server tables.
Let’s examine the SQL Server and look at the content brought over. As you can see, the information in the Lotus Notes form has been translated to the SQL table.
Now we have a basic application which integration Lotus Notes CRM application to SQL server.
Let’s take a look at these ecKnowledge® components in the context of real life migration of a Notes CRM to SQL Server.
ecKnowledge® Composer is the application development environment. When you start up the composer, you will see a tree view of different objects and the category of objects in the ecKnowledge® systems. These objects are non-programming objects. You create these by filling out information in the composer wizards and dialog boxes. These objects together, will make up your migration and co-existence applications.
ecKnowledge® Server, allows you to manage the server, locally or remotely. It allows you to start and stop the servers, looking at task current activities, histories and monitoring migration jobs.
Let’s use these two components to build a real life migration and co-existing example application.
WWI uses the Notes Sales Tracking database to keep track of their prospects. The information includes contact information, company profiles and sales goal and strategies.
This application, can be rebuild using Microsoft technology, such as using Visual.Net and MS SQL server as the data store for this applicaiton.
Let’s take a look at the corresponding table in MS SQL server that represent the forms in Notes application. This AccountProfile table in the SQL server is currently empty. Will use ecKnowledge® components to link up the Lotus Notes account form with the SQL server tables.
In the Composer tree-view, there are two main categories. One is called JOBS, these are the objects that can be run by the ecKnowledge® Server, and the COMPONENT OBJECTS, in which you will use it to build the migration or co-existence objects. In this application, you may want to build an REPLICATION JOB in which you will synchronizes the information from Lotus Notes Account Profile form with the Account Profile table in the SQL server
You can always right click on the JOB TYPE to start the wizard to create the job, or you can click on the CREATE menu and choose the REPLICATION options to start the wizard.
The wizard will guild you step by step to the different options that you need to specify to create this co-existence application.
On the first screen, it will allow you to create a connection your source system. In this case, it will be Lotus Notes. If you already have a connection, you can drop down the list and choose the connection. Otherwise, you can click on the CREATE NEW CONNECTION button to create this connection to Lotus Notes.
First thing you would do, is give a name to the Connection object. We call it the Training Notes CRM. Then, you drop down the CONNECTION TYPE LIST and choose the type of this connection to your source database. Based on the CONNECTION TYPE selected, the rest of the screen will allow you to enter the information required to make a connection to that system. Remember you would need to have the client software configured in order to allow you to choose the connection type.
You can select a Lotus Notes database from the Domino server, or you can select a database local on this computer. Once you specify the information required for the connection, you can hit ok and that connection will be available to you in the source wizard.
Once the connection is established, ecKnowledge® will retrieve the meta-data from that system. In case of Lotus Notes
It will be the list of the Forms and Views in the database selected in the connection. Will go ahead to use the ACCOUNT PROFILE FORM for this application.
The next step would be to specify a similar connection to the Target system. I can go ahead and select the pre-define connection to SQL server. When you click on the Properties of the Connection, you can see how you can configure the name of the SQL server to connect to, and the database which contains the table that we want to integrate with Lotus Notes.
Once you select the connection to SQL server, ecKnowledge® will retrieve the list of Tables, Views and Stored Procedure that you can use from the SQL server. In this application, we will use the ACCOUNT PROFILE TABLE on the SQL server.
The next step is to specify to ecKnowledge® whether this application is a replication or a synchronization. For replication, chose the One-Way Replication button. For Synchronization between the two systems, choose, the Two-Way Synchronization button. If you are planning for co-existing the Lotus Notes application with SQL server, you might want to use the two way replication option.
After you have specify the source and target systems, and choose the tables and forms of interest, you will need to specify mapping between columns and attributes of the fields between these two systems. You can do that by click on the COLUMN MAPPING button.
For the column which has same or similar names, ecKnowledge® can automatically match those columns for you. In the following screen, you will see on the Left side, the list of fields from the source system, which is the Lotus Notes ACCOUNT PROFILE form. On the right side, you will see a list of columns from the SQL server dbo.AccountProfile table. In the middle, you will see a list of columns that have been mapped between these two systems by ecKnowledge®. For columns with dissimilar names, you can select the column from the left list from the Lotus Notes application, and you can select corresponding column from SQL server can click on the Add button.
As you can see, once you click on a column, ecKnowledge® will display the attributes of the field such as name, data type and length for your information. Let’s go ahead and map the rest of the columns between these two systems.
After you have done mapping the columns between the two systems, you would need to specify one or more column as the key to uniquely identify the records on the target system. You can choose single unique key or compound keys.
So far, we have specify the connection to the two systems and the column mapping between the two systems. The rest of the screens will have an option to fine tune the behavior of this replication task and to specify any additional parameters. For example, you can choose whether you would like to replicate Insert of the new data, Update or Delete made on the Lotus Notes applications to the SQL server. You can also filter the data coming thru by specifying a filter condition. The syntax of the filter conditions depend on the system specify as a source or target. In this case, since Lotus Notes is the source, the filter condition for source should be specify in Lotus Notes formula syntax. For the target systems, which is SQL server, it would be in the SQL WHERE clause syntax. For example, I could specify COMPANY OWNERSHIP = ‘PUBLIC’ to filter the record for only the publicly listed companies.
ecKnowledge® can also use a TimeStamp column to perform a very efficient replication of the information. With this timestamp, it can detect just the changes made to the systems so that only those changes are brought over to the target system. If you do not have a timestamp column such as LastModify, $Modify, you could also use a signature base algorithm to detect the changes.
We have specified all the required parameters for this application job. For the rest of the screen, you could leave the default parameters and click NEXT. On the EXECUTION CONTROL screen, an important parameter to note is the COMPUTER NAME field on the top. If you specify a computer name, then only the ecKnowledge® Server installed on that computer will execute this particular job. If you leave the field blank, any ecKnowledge® Server which is least loaded will pick up this particular job. You are also able to sequence different ecKnowledge® activities one after the other based on a successful execution or on error execution.
The replication task that we have created can be specified on a scheduled basis or you can invoke this job from your application using the ecKnowledge® COM or XML interface. You can always invoke this job ad-hoc basis from Composer or ecKnowledge® Server Manager.
This screen allows you to specify any administrative notification that ecKnowledge® should send out on the successful execution of this job or in case of error.
Finally, you need to enter an unique name for this job and optionally give a category.
When you click FINISH, this replication object is saved within ecKnowledge® system. If you want to make any modification to the job, you can double click on the name of the job and it will open up the properties sheet view which will let you specify any additional parameters.
We are now ready to run this application using the exKnowledge Server. To run this application on ad-hoc basis, you could right-click on the job name in the tree, and click on the SUBMIT JOB button or you could also go to the Server Manager program to initial this job.
This job has now been submitted to the ecKnowledge® Server for processing. You can always go to the Server Manager component to look at the current activities of the server, or you could also look at the activities history which will show you the execution of this particular task. When you double click on the task, you can look at the details of this activity, and you can see right here that this replication has migrated 47 records from Lotus Notes forms to the SQL Server tables.
Let’s examine the SQL Server and look at the content brought over. As you can see, the information in the Lotus Notes form has been translated to the SQL table.
Now we have a basic application which integration Lotus Notes CRM application to SQL server.
41. Hands-on Lab Exercise 2a
One way migration of Notes document library to WSS
*Note* – after Column Mapping, be sure to specify folder to store attachments in ‘Additional Parameters’ section
42. Exercise Scenario Notes Project Task Application as a collaborative application to track and manage team activities
Goal
To migrate this application to WSS standard Task list application
43. ecKnowledge® Demo Notes Project Task Application to WSS Let’s take a look at these ecKnowledge® components in the context of real life migration of a Notes CRM to SQL Server.
ecKnowledge® Composer is the application development environment. When you start up the composer, you will see a tree view of different objects and the category of objects in the ecKnowledge® systems. These objects are non-programming objects. You create these by filling out information in the composer wizards and dialog boxes. These objects together, will make up your migration and co-existence applications.
ecKnowledge® Server, allows you to manage the server, locally or remotely. It allows you to start and stop the servers, looking at task current activities, histories and monitoring migration jobs.
Let’s use these two components to build a real life migration and co-existing example application.
WWI uses the Notes Sales Tracking database to keep track of their prospects. The information includes contact information, company profiles and sales goal and strategies.
This application, can be rebuilt using Microsoft technology, such as using Visual Studio.NET and MS SQL server as the data store for this applicaiton.
Let’s take a look at the corresponding table in MS SQL server that represent the forms in Notes application. This AccountProfile table in the SQL server is currently empty. Will use ecKnowledge® components to link up the Lotus Notes account form with the SQL server tables.
In the Composer tree-view, there are two main categories. One is called JOBS, these are the objects that can be run by the ecKnowledge® Server, and the COMPONENT OBJECTS, in which you will use it to build the migration or co-existence objects. In this application, you may want to build an REPLICATION JOB in which you will synchronizes the information from Lotus Notes Account Profile form with the Account Profile table in the SQL server
You can always right click on the JOB TYPE to start the wizard to create the job, or you can click on the CREATE menu and choose the REPLICATION options to start the wizard.
The wizard will guild you step by step to the different options that you need to specify to create this co-existence application.
On the first screen, it will allow you to create a connection your source system. In this case, it will be Lotus Notes. If you already have a connection, you can drop down the list and choose the connection. Otherwise, you can click on the CREATE NEW CONNECTION button to create this connection to Lotus Notes.
First thing you would do, is give a name to the Connection object. We call it the Training Notes CRM. Then, you drop down the CONNECTION TYPE LIST and choose the type of this connection to your source database. Based on the CONNECTION TYPE selected, the rest of the screen will allow you to enter the information required to make a connection to that system. Remember you would need to have the client software configured in order to allow you to choose the connection type.
You can select a Lotus Notes database from the Domino server, or you can select a database local on this computer. Once you specify the information required for the connection, you can hit ok and that connection will be available to you in the source wizard.
Once the connection is established, ecKnowledge® will retrieve the meta-data from that system. In case of Lotus Notes
It will be the list of the Forms and Views in the database selected in the connection. Will go ahead to use the ACCOUNT PROFILE FORM for this application.
The next step would be to specify a similar connection to the Target system. I can go ahead and select the pre-define connection to SQL server. When you click on the Properties of the Connection, you can see how you can configure the name of the SQL server to connect to, and the database which contains the table that we want to integrate with Lotus Notes.
Once you select the connection to SQL server, ecKnowledge® will retrieve the list of Tables, Views and Stored Procedure that you can use from the SQL server. In this application, we will use the ACCOUNT PROFILE TABLE on the SQL server.
The next step is to specify to ecKnowledge® whether this application is a replication or a synchronization. For replication, chose the One-Way Replication button. For Synchronization between the two systems, choose, the Two-Way Synchronization button. If you are planning for co-existing the Lotus Notes application with SQL server, you might want to use the two way replication option.
After you have specify the source and target systems, and choose the tables and forms of interest, you will need to specify mapping between columns and attributes of the fields between these two systems. You can do that by click on the COLUMN MAPPING button.
For the column which has same or similar names, ecKnowledge® can automatically match those columns for you. In the following screen, you will see on the Left side, the list of fields from the source system, which is the Lotus Notes ACCOUNT PROFILE form. On the right side, you will see a list of columns from the SQL server dbo.AccountProfile table. In the middle, you will see a list of columns that have been mapped between these two systems by ecKnowledge®. For columns with dissimilar names, you can select the column from the left list from the Lotus Notes application, and you can select corresponding column from SQL server can click on the Add button.
As you can see, once you click on a column, ecKnowledge® will display the attributes of the field such as name, data type and length for your information. Let’s go ahead and map the rest of the columns between these two systems.
After you have done mapping the columns between the two systems, you would need to specify one or more column as the key to uniquely identify the records on the target system. You can choose single unique key or compound keys.
So far, we have specify the connection to the two systems and the column mapping between the two systems. The rest of the screens will have an option to fine tune the behavior of this replication task and to specify any additional parameters. For example, you can choose whether you would like to replicate Insert of the new data, Update or Delete made on the Lotus Notes applications to the SQL server. You can also filter the data coming thru by specifying a filter condition. The syntax of the filter conditions depend on the system specify as a source or target. In this case, since Lotus Notes is the source, the filter condition for source should be specify in Lotus Notes formula syntax. For the target systems, which is SQL server, it would be in the SQL WHERE clause syntax. For example, I could specify COMPANY OWNERSHIP = ‘PUBLIC’ to filter the record for only the publicly listed companies.
ecKnowledge® can also use a TimeStamp column to perform a very efficient replication of the information. With this timestamp, it can detect just the changes made to the systems so that only those changes are brought over to the target system. If you do not have a timestamp column such as LastModify, $Modify, you could also use a signature base algorithm to detect the changes.
We have specified all the required parameters for this application job. For the rest of the screen, you could leave the default parameters and click NEXT. On the EXECUTION CONTROL screen, an important parameter to note is the COMPUTER NAME field on the top. If you specify a computer name, then only the ecKnowledge® Server installed on that computer will execute this particular job. If you leave the field blank, any ecKnowledge® Server which is least loaded will pick up this particular job. You are also able to sequence different ecKnowledge® activities one after the other based on a successful execution or on error execution.
The replication task that we have created can be specified on a scheduled basis or you can invoke this job from your application using the ecKnowledge® COM or XML interface. You can always invoke this job ad-hoc basis from Composer or ecKnowledge® Server Manager.
This screen allows you to specify any administrative notification that ecKnowledge® should send out on the successful execution of this job or in case of error.
Finally, you need to enter an unique name for this job and optionally give a category.
When you click FINISH, this replication object is saved within ecKnowledge® system. If you want to make any modification to the job, you can double click on the name of the job and it will open up the properties sheet view which will let you specify any additional parameters.
We are now ready to run this application using the exKnowledge Server. To run this application on ad-hoc basis, you could right-click on the job name in the tree, and click on the SUBMIT JOB button or you could also go to the Server Manager program to initial this job.
This job has now been submitted to the ecKnowledge® Server for processing. You can always go to the Server Manager component to look at the current activities of the server, or you could also look at the activities history which will show you the execution of this particular task. When you double click on the task, you can look at the details of this activity, and you can see right here that this replication has migrated 47 records from Lotus Notes forms to the SQL Server tables.
Let’s examine the SQL Server and look at the content brought over. As you can see, the information in the Lotus Notes form has been translated to the SQL table.
Now we have a basic application which integration Lotus Notes CRM application to SQL server.
Let’s take a look at these ecKnowledge® components in the context of real life migration of a Notes CRM to SQL Server.
ecKnowledge® Composer is the application development environment. When you start up the composer, you will see a tree view of different objects and the category of objects in the ecKnowledge® systems. These objects are non-programming objects. You create these by filling out information in the composer wizards and dialog boxes. These objects together, will make up your migration and co-existence applications.
ecKnowledge® Server, allows you to manage the server, locally or remotely. It allows you to start and stop the servers, looking at task current activities, histories and monitoring migration jobs.
Let’s use these two components to build a real life migration and co-existing example application.
WWI uses the Notes Sales Tracking database to keep track of their prospects. The information includes contact information, company profiles and sales goal and strategies.
This application, can be rebuilt using Microsoft technology, such as using Visual Studio.NET and MS SQL server as the data store for this applicaiton.
Let’s take a look at the corresponding table in MS SQL server that represent the forms in Notes application. This AccountProfile table in the SQL server is currently empty. Will use ecKnowledge® components to link up the Lotus Notes account form with the SQL server tables.
In the Composer tree-view, there are two main categories. One is called JOBS, these are the objects that can be run by the ecKnowledge® Server, and the COMPONENT OBJECTS, in which you will use it to build the migration or co-existence objects. In this application, you may want to build an REPLICATION JOB in which you will synchronizes the information from Lotus Notes Account Profile form with the Account Profile table in the SQL server
You can always right click on the JOB TYPE to start the wizard to create the job, or you can click on the CREATE menu and choose the REPLICATION options to start the wizard.
The wizard will guild you step by step to the different options that you need to specify to create this co-existence application.
On the first screen, it will allow you to create a connection your source system. In this case, it will be Lotus Notes. If you already have a connection, you can drop down the list and choose the connection. Otherwise, you can click on the CREATE NEW CONNECTION button to create this connection to Lotus Notes.
First thing you would do, is give a name to the Connection object. We call it the Training Notes CRM. Then, you drop down the CONNECTION TYPE LIST and choose the type of this connection to your source database. Based on the CONNECTION TYPE selected, the rest of the screen will allow you to enter the information required to make a connection to that system. Remember you would need to have the client software configured in order to allow you to choose the connection type.
You can select a Lotus Notes database from the Domino server, or you can select a database local on this computer. Once you specify the information required for the connection, you can hit ok and that connection will be available to you in the source wizard.
Once the connection is established, ecKnowledge® will retrieve the meta-data from that system. In case of Lotus Notes
It will be the list of the Forms and Views in the database selected in the connection. Will go ahead to use the ACCOUNT PROFILE FORM for this application.
The next step would be to specify a similar connection to the Target system. I can go ahead and select the pre-define connection to SQL server. When you click on the Properties of the Connection, you can see how you can configure the name of the SQL server to connect to, and the database which contains the table that we want to integrate with Lotus Notes.
Once you select the connection to SQL server, ecKnowledge® will retrieve the list of Tables, Views and Stored Procedure that you can use from the SQL server. In this application, we will use the ACCOUNT PROFILE TABLE on the SQL server.
The next step is to specify to ecKnowledge® whether this application is a replication or a synchronization. For replication, chose the One-Way Replication button. For Synchronization between the two systems, choose, the Two-Way Synchronization button. If you are planning for co-existing the Lotus Notes application with SQL server, you might want to use the two way replication option.
After you have specify the source and target systems, and choose the tables and forms of interest, you will need to specify mapping between columns and attributes of the fields between these two systems. You can do that by click on the COLUMN MAPPING button.
For the column which has same or similar names, ecKnowledge® can automatically match those columns for you. In the following screen, you will see on the Left side, the list of fields from the source system, which is the Lotus Notes ACCOUNT PROFILE form. On the right side, you will see a list of columns from the SQL server dbo.AccountProfile table. In the middle, you will see a list of columns that have been mapped between these two systems by ecKnowledge®. For columns with dissimilar names, you can select the column from the left list from the Lotus Notes application, and you can select corresponding column from SQL server can click on the Add button.
As you can see, once you click on a column, ecKnowledge® will display the attributes of the field such as name, data type and length for your information. Let’s go ahead and map the rest of the columns between these two systems.
After you have done mapping the columns between the two systems, you would need to specify one or more column as the key to uniquely identify the records on the target system. You can choose single unique key or compound keys.
So far, we have specify the connection to the two systems and the column mapping between the two systems. The rest of the screens will have an option to fine tune the behavior of this replication task and to specify any additional parameters. For example, you can choose whether you would like to replicate Insert of the new data, Update or Delete made on the Lotus Notes applications to the SQL server. You can also filter the data coming thru by specifying a filter condition. The syntax of the filter conditions depend on the system specify as a source or target. In this case, since Lotus Notes is the source, the filter condition for source should be specify in Lotus Notes formula syntax. For the target systems, which is SQL server, it would be in the SQL WHERE clause syntax. For example, I could specify COMPANY OWNERSHIP = ‘PUBLIC’ to filter the record for only the publicly listed companies.
ecKnowledge® can also use a TimeStamp column to perform a very efficient replication of the information. With this timestamp, it can detect just the changes made to the systems so that only those changes are brought over to the target system. If you do not have a timestamp column such as LastModify, $Modify, you could also use a signature base algorithm to detect the changes.
We have specified all the required parameters for this application job. For the rest of the screen, you could leave the default parameters and click NEXT. On the EXECUTION CONTROL screen, an important parameter to note is the COMPUTER NAME field on the top. If you specify a computer name, then only the ecKnowledge® Server installed on that computer will execute this particular job. If you leave the field blank, any ecKnowledge® Server which is least loaded will pick up this particular job. You are also able to sequence different ecKnowledge® activities one after the other based on a successful execution or on error execution.
The replication task that we have created can be specified on a scheduled basis or you can invoke this job from your application using the ecKnowledge® COM or XML interface. You can always invoke this job ad-hoc basis from Composer or ecKnowledge® Server Manager.
This screen allows you to specify any administrative notification that ecKnowledge® should send out on the successful execution of this job or in case of error.
Finally, you need to enter an unique name for this job and optionally give a category.
When you click FINISH, this replication object is saved within ecKnowledge® system. If you want to make any modification to the job, you can double click on the name of the job and it will open up the properties sheet view which will let you specify any additional parameters.
We are now ready to run this application using the exKnowledge Server. To run this application on ad-hoc basis, you could right-click on the job name in the tree, and click on the SUBMIT JOB button or you could also go to the Server Manager program to initial this job.
This job has now been submitted to the ecKnowledge® Server for processing. You can always go to the Server Manager component to look at the current activities of the server, or you could also look at the activities history which will show you the execution of this particular task. When you double click on the task, you can look at the details of this activity, and you can see right here that this replication has migrated 47 records from Lotus Notes forms to the SQL Server tables.
Let’s examine the SQL Server and look at the content brought over. As you can see, the information in the Lotus Notes form has been translated to the SQL table.
Now we have a basic application which integration Lotus Notes CRM application to SQL server.
44. Hands-on Lab Exercise 2b
Coexist between Notes Project Task Application and WSS
45. Exercise Scenario Custom Sales Tracking Application in Lotus Notes
Goal
To migrate this application to WSS custom list
Use FrontPage to further customize the look and feel of the custom list
46. ecKnowledge® Demo Notes Sales Tracking Application to WSS Let’s take a look at these ecKnowledge® components in the context of real life migration of a Notes CRM to SQL Server.
ecKnowledge® Composer is the application development environment. When you start up the composer, you will see a tree view of different objects and the category of objects in the ecKnowledge® systems. These objects are non-programming objects. You create these by filling out information in the composer wizards and dialog boxes. These objects together, will make up your migration and co-existence applications.
ecKnowledge® Server, allows you to manage the server, locally or remotely. It allows you to start and stop the servers, looking at task current activities, histories and monitoring migration jobs.
Let’s use these two components to build a real life migration and co-existing example application.
WWI uses the Notes Sales Tracking database to keep track of their prospects. The information includes contact information, company profiles and sales goal and strategies.
This application, can be rebuilt using Microsoft technology, such as using Visual Studio.NET and MS SQL server as the data store for this applicaiton.
Let’s take a look at the corresponding table in MS SQL server that represent the forms in Notes application. This AccountProfile table in the SQL server is currently empty. Will use ecKnowledge® components to link up the Lotus Notes account form with the SQL server tables.
In the Composer tree-view, there are two main categories. One is called JOBS, these are the objects that can be run by the ecKnowledge® Server, and the COMPONENT OBJECTS, in which you will use it to build the migration or co-existence objects. In this application, you may want to build an REPLICATION JOB in which you will synchronizes the information from Lotus Notes Account Profile form with the Account Profile table in the SQL server
You can always right click on the JOB TYPE to start the wizard to create the job, or you can click on the CREATE menu and choose the REPLICATION options to start the wizard.
The wizard will guild you step by step to the different options that you need to specify to create this co-existence application.
On the first screen, it will allow you to create a connection your source system. In this case, it will be Lotus Notes. If you already have a connection, you can drop down the list and choose the connection. Otherwise, you can click on the CREATE NEW CONNECTION button to create this connection to Lotus Notes.
First thing you would do, is give a name to the Connection object. We call it the Training Notes CRM. Then, you drop down the CONNECTION TYPE LIST and choose the type of this connection to your source database. Based on the CONNECTION TYPE selected, the rest of the screen will allow you to enter the information required to make a connection to that system. Remember you would need to have the client software configured in order to allow you to choose the connection type.
You can select a Lotus Notes database from the Domino server, or you can select a database local on this computer. Once you specify the information required for the connection, you can hit ok and that connection will be available to you in the source wizard.
Once the connection is established, ecKnowledge® will retrieve the meta-data from that system. In case of Lotus Notes
It will be the list of the Forms and Views in the database selected in the connection. Will go ahead to use the ACCOUNT PROFILE FORM for this application.
The next step would be to specify a similar connection to the Target system. I can go ahead and select the pre-define connection to SQL server. When you click on the Properties of the Connection, you can see how you can configure the name of the SQL server to connect to, and the database which contains the table that we want to integrate with Lotus Notes.
Once you select the connection to SQL server, ecKnowledge® will retrieve the list of Tables, Views and Stored Procedure that you can use from the SQL server. In this application, we will use the ACCOUNT PROFILE TABLE on the SQL server.
The next step is to specify to ecKnowledge® whether this application is a replication or a synchronization. For replication, chose the One-Way Replication button. For Synchronization between the two systems, choose, the Two-Way Synchronization button. If you are planning for co-existing the Lotus Notes application with SQL server, you might want to use the two way replication option.
After you have specify the source and target systems, and choose the tables and forms of interest, you will need to specify mapping between columns and attributes of the fields between these two systems. You can do that by click on the COLUMN MAPPING button.
For the column which has same or similar names, ecKnowledge® can automatically match those columns for you. In the following screen, you will see on the Left side, the list of fields from the source system, which is the Lotus Notes ACCOUNT PROFILE form. On the right side, you will see a list of columns from the SQL server dbo.AccountProfile table. In the middle, you will see a list of columns that have been mapped between these two systems by ecKnowledge®. For columns with dissimilar names, you can select the column from the left list from the Lotus Notes application, and you can select corresponding column from SQL server can click on the Add button.
As you can see, once you click on a column, ecKnowledge® will display the attributes of the field such as name, data type and length for your information. Let’s go ahead and map the rest of the columns between these two systems.
After you have done mapping the columns between the two systems, you would need to specify one or more column as the key to uniquely identify the records on the target system. You can choose single unique key or compound keys.
So far, we have specify the connection to the two systems and the column mapping between the two systems. The rest of the screens will have an option to fine tune the behavior of this replication task and to specify any additional parameters. For example, you can choose whether you would like to replicate Insert of the new data, Update or Delete made on the Lotus Notes applications to the SQL server. You can also filter the data coming thru by specifying a filter condition. The syntax of the filter conditions depend on the system specify as a source or target. In this case, since Lotus Notes is the source, the filter condition for source should be specify in Lotus Notes formula syntax. For the target systems, which is SQL server, it would be in the SQL WHERE clause syntax. For example, I could specify COMPANY OWNERSHIP = ‘PUBLIC’ to filter the record for only the publicly listed companies.
ecKnowledge® can also use a TimeStamp column to perform a very efficient replication of the information. With this timestamp, it can detect just the changes made to the systems so that only those changes are brought over to the target system. If you do not have a timestamp column such as LastModify, $Modify, you could also use a signature base algorithm to detect the changes.
We have specified all the required parameters for this application job. For the rest of the screen, you could leave the default parameters and click NEXT. On the EXECUTION CONTROL screen, an important parameter to note is the COMPUTER NAME field on the top. If you specify a computer name, then only the ecKnowledge® Server installed on that computer will execute this particular job. If you leave the field blank, any ecKnowledge® Server which is least loaded will pick up this particular job. You are also able to sequence different ecKnowledge® activities one after the other based on a successful execution or on error execution.
The replication task that we have created can be specified on a scheduled basis or you can invoke this job from your application using the ecKnowledge® COM or XML interface. You can always invoke this job ad-hoc basis from Composer or ecKnowledge® Server Manager.
This screen allows you to specify any administrative notification that ecKnowledge® should send out on the successful execution of this job or in case of error.
Finally, you need to enter an unique name for this job and optionally give a category.
When you click FINISH, this replication object is saved within ecKnowledge® system. If you want to make any modification to the job, you can double click on the name of the job and it will open up the properties sheet view which will let you specify any additional parameters.
We are now ready to run this application using the exKnowledge Server. To run this application on ad-hoc basis, you could right-click on the job name in the tree, and click on the SUBMIT JOB button or you could also go to the Server Manager program to initial this job.
This job has now been submitted to the ecKnowledge® Server for processing. You can always go to the Server Manager component to look at the current activities of the server, or you could also look at the activities history which will show you the execution of this particular task. When you double click on the task, you can look at the details of this activity, and you can see right here that this replication has migrated 47 records from Lotus Notes forms to the SQL Server tables.
Let’s examine the SQL Server and look at the content brought over. As you can see, the information in the Lotus Notes form has been translated to the SQL table.
Now we have a basic application which integration Lotus Notes CRM application to SQL server.
Let’s take a look at these ecKnowledge® components in the context of real life migration of a Notes CRM to SQL Server.
ecKnowledge® Composer is the application development environment. When you start up the composer, you will see a tree view of different objects and the category of objects in the ecKnowledge® systems. These objects are non-programming objects. You create these by filling out information in the composer wizards and dialog boxes. These objects together, will make up your migration and co-existence applications.
ecKnowledge® Server, allows you to manage the server, locally or remotely. It allows you to start and stop the servers, looking at task current activities, histories and monitoring migration jobs.
Let’s use these two components to build a real life migration and co-existing example application.
WWI uses the Notes Sales Tracking database to keep track of their prospects. The information includes contact information, company profiles and sales goal and strategies.
This application, can be rebuilt using Microsoft technology, such as using Visual Studio.NET and MS SQL server as the data store for this applicaiton.
Let’s take a look at the corresponding table in MS SQL server that represent the forms in Notes application. This AccountProfile table in the SQL server is currently empty. Will use ecKnowledge® components to link up the Lotus Notes account form with the SQL server tables.
In the Composer tree-view, there are two main categories. One is called JOBS, these are the objects that can be run by the ecKnowledge® Server, and the COMPONENT OBJECTS, in which you will use it to build the migration or co-existence objects. In this application, you may want to build an REPLICATION JOB in which you will synchronizes the information from Lotus Notes Account Profile form with the Account Profile table in the SQL server
You can always right click on the JOB TYPE to start the wizard to create the job, or you can click on the CREATE menu and choose the REPLICATION options to start the wizard.
The wizard will guild you step by step to the different options that you need to specify to create this co-existence application.
On the first screen, it will allow you to create a connection your source system. In this case, it will be Lotus Notes. If you already have a connection, you can drop down the list and choose the connection. Otherwise, you can click on the CREATE NEW CONNECTION button to create this connection to Lotus Notes.
First thing you would do, is give a name to the Connection object. We call it the Training Notes CRM. Then, you drop down the CONNECTION TYPE LIST and choose the type of this connection to your source database. Based on the CONNECTION TYPE selected, the rest of the screen will allow you to enter the information required to make a connection to that system. Remember you would need to have the client software configured in order to allow you to choose the connection type.
You can select a Lotus Notes database from the Domino server, or you can select a database local on this computer. Once you specify the information required for the connection, you can hit ok and that connection will be available to you in the source wizard.
Once the connection is established, ecKnowledge® will retrieve the meta-data from that system. In case of Lotus Notes
It will be the list of the Forms and Views in the database selected in the connection. Will go ahead to use the ACCOUNT PROFILE FORM for this application.
The next step would be to specify a similar connection to the Target system. I can go ahead and select the pre-define connection to SQL server. When you click on the Properties of the Connection, you can see how you can configure the name of the SQL server to connect to, and the database which contains the table that we want to integrate with Lotus Notes.
Once you select the connection to SQL server, ecKnowledge® will retrieve the list of Tables, Views and Stored Procedure that you can use from the SQL server. In this application, we will use the ACCOUNT PROFILE TABLE on the SQL server.
The next step is to specify to ecKnowledge® whether this application is a replication or a synchronization. For replication, chose the One-Way Replication button. For Synchronization between the two systems, choose, the Two-Way Synchronization button. If you are planning for co-existing the Lotus Notes application with SQL server, you might want to use the two way replication option.
After you have specify the source and target systems, and choose the tables and forms of interest, you will need to specify mapping between columns and attributes of the fields between these two systems. You can do that by click on the COLUMN MAPPING button.
For the column which has same or similar names, ecKnowledge® can automatically match those columns for you. In the following screen, you will see on the Left side, the list of fields from the source system, which is the Lotus Notes ACCOUNT PROFILE form. On the right side, you will see a list of columns from the SQL server dbo.AccountProfile table. In the middle, you will see a list of columns that have been mapped between these two systems by ecKnowledge®. For columns with dissimilar names, you can select the column from the left list from the Lotus Notes application, and you can select corresponding column from SQL server can click on the Add button.
As you can see, once you click on a column, ecKnowledge® will display the attributes of the field such as name, data type and length for your information. Let’s go ahead and map the rest of the columns between these two systems.
After you have done mapping the columns between the two systems, you would need to specify one or more column as the key to uniquely identify the records on the target system. You can choose single unique key or compound keys.
So far, we have specify the connection to the two systems and the column mapping between the two systems. The rest of the screens will have an option to fine tune the behavior of this replication task and to specify any additional parameters. For example, you can choose whether you would like to replicate Insert of the new data, Update or Delete made on the Lotus Notes applications to the SQL server. You can also filter the data coming thru by specifying a filter condition. The syntax of the filter conditions depend on the system specify as a source or target. In this case, since Lotus Notes is the source, the filter condition for source should be specify in Lotus Notes formula syntax. For the target systems, which is SQL server, it would be in the SQL WHERE clause syntax. For example, I could specify COMPANY OWNERSHIP = ‘PUBLIC’ to filter the record for only the publicly listed companies.
ecKnowledge® can also use a TimeStamp column to perform a very efficient replication of the information. With this timestamp, it can detect just the changes made to the systems so that only those changes are brought over to the target system. If you do not have a timestamp column such as LastModify, $Modify, you could also use a signature base algorithm to detect the changes.
We have specified all the required parameters for this application job. For the rest of the screen, you could leave the default parameters and click NEXT. On the EXECUTION CONTROL screen, an important parameter to note is the COMPUTER NAME field on the top. If you specify a computer name, then only the ecKnowledge® Server installed on that computer will execute this particular job. If you leave the field blank, any ecKnowledge® Server which is least loaded will pick up this particular job. You are also able to sequence different ecKnowledge® activities one after the other based on a successful execution or on error execution.
The replication task that we have created can be specified on a scheduled basis or you can invoke this job from your application using the ecKnowledge® COM or XML interface. You can always invoke this job ad-hoc basis from Composer or ecKnowledge® Server Manager.
This screen allows you to specify any administrative notification that ecKnowledge® should send out on the successful execution of this job or in case of error.
Finally, you need to enter an unique name for this job and optionally give a category.
When you click FINISH, this replication object is saved within ecKnowledge® system. If you want to make any modification to the job, you can double click on the name of the job and it will open up the properties sheet view which will let you specify any additional parameters.
We are now ready to run this application using the exKnowledge Server. To run this application on ad-hoc basis, you could right-click on the job name in the tree, and click on the SUBMIT JOB button or you could also go to the Server Manager program to initial this job.
This job has now been submitted to the ecKnowledge® Server for processing. You can always go to the Server Manager component to look at the current activities of the server, or you could also look at the activities history which will show you the execution of this particular task. When you double click on the task, you can look at the details of this activity, and you can see right here that this replication has migrated 47 records from Lotus Notes forms to the SQL Server tables.
Let’s examine the SQL Server and look at the content brought over. As you can see, the information in the Lotus Notes form has been translated to the SQL table.
Now we have a basic application which integration Lotus Notes CRM application to SQL server.
47. Hands-on Lab Exercise 2c
Coexist between a Notes Sales Tracking Application and WSS
48. Exercise Scenario Discussion Team Room application
Typical collaborative application in Notes environment
Options
Exchange Public Folder/Outlook
Windows SharePoint Services
49. ecKnowledge® Demo Notes Discussion Team Room to WSS Let’s take a look at these ecKnowledge® components in the context of real life migration of a Notes CRM to SQL Server.
ecKnowledge® Composer is the application development environment. When you start up the composer, you will see a tree view of different objects and the category of objects in the ecKnowledge® systems. These objects are non-programming objects. You create these by filling out information in the composer wizards and dialog boxes. These objects together, will make up your migration and co-existence applications.
ecKnowledge® Server, allows you to manage the server, locally or remotely. It allows you to start and stop the servers, looking at task current activities, histories and monitoring migration jobs.
Let’s use these two components to build a real life migration and co-existing example application.
WWI uses the Notes Sales Tracking database to keep track of their prospects. The information includes contact information, company profiles and sales goal and strategies.
This application, can be rebuild using Microsoft technology, such as using Visual.Net and MS SQL server as the data store for this applicaiton.
Let’s take a look at the corresponding table in MS SQL server that represent the forms in Notes application. This AccountProfile table in the SQL server is currently empty. Will use ecKnowledge® components to link up the Lotus Notes account form with the SQL server tables.
In the Composer tree-view, there are two main categories. One is called JOBS, these are the objects that can be run by the ecKnowledge® Server, and the COMPONENT OBJECTS, in which you will use it to build the migration or co-existence objects. In this application, you may want to build an REPLICATION JOB in which you will synchronizes the information from Lotus Notes Account Profile form with the Account Profile table in the SQL server
You can always right click on the JOB TYPE to start the wizard to create the job, or you can click on the CREATE menu and choose the REPLICATION options to start the wizard.
The wizard will guild you step by step to the different options that you need to specify to create this co-existence application.
On the first screen, it will allow you to create a connection your source system. In this case, it will be Lotus Notes. If you already have a connection, you can drop down the list and choose the connection. Otherwise, you can click on the CREATE NEW CONNECTION button to create this connection to Lotus Notes.
First thing you would do, is give a name to the Connection object. We call it the Training Notes CRM. Then, you drop down the CONNECTION TYPE LIST and choose the type of this connection to your source database. Based on the CONNECTION TYPE selected, the rest of the screen will allow you to enter the information required to make a connection to that system. Remember you would need to have the client software configured in order to allow you to choose the connection type.
You can select a Lotus Notes database from the Domino server, or you can select a database local on this computer. Once you specify the information required for the connection, you can hit ok and that connection will be available to you in the source wizard.
Once the connection is established, ecKnowledge® will retrieve the meta-data from that system. In case of Lotus Notes
It will be the list of the Forms and Views in the database selected in the connection. Will go ahead to use the ACCOUNT PROFILE FORM for this application.
The next step would be to specify a similar connection to the Target system. I can go ahead and select the pre-define connection to SQL server. When you click on the Properties of the Connection, you can see how you can configure the name of the SQL server to connect to, and the database which contains the table that we want to integrate with Lotus Notes.
Once you select the connection to SQL server, ecKnowledge® will retrieve the list of Tables, Views and Stored Procedure that you can use from the SQL server. In this application, we will use the ACCOUNT PROFILE TABLE on the SQL server.
The next step is to specify to ecKnowledge® whether this application is a replication or a synchronization. For replication, chose the One-Way Replication button. For Synchronization between the two systems, choose, the Two-Way Synchronization button. If you are planning for co-existing the Lotus Notes application with SQL server, you might want to use the two way replication option.
After you have specify the source and target systems, and choose the tables and forms of interest, you will need to specify mapping between columns and attributes of the fields between these two systems. You can do that by click on the COLUMN MAPPING button.
For the column which has same or similar names, ecKnowledge® can automatically match those columns for you. In the following screen, you will see on the Left side, the list of fields from the source system, which is the Lotus Notes ACCOUNT PROFILE form. On the right side, you will see a list of columns from the SQL server dbo.AccountProfile table. In the middle, you will see a list of columns that have been mapped between these two systems by ecKnowledge®. For columns with dissimilar names, you can select the column from the left list from the Lotus Notes application, and you can select corresponding column from SQL server can click on the Add button.
As you can see, once you click on a column, ecKnowledge® will display the attributes of the field such as name, data type and length for your information. Let’s go ahead and map the rest of the columns between these two systems.
After you have done mapping the columns between the two systems, you would need to specify one or more column as the key to uniquely identify the records on the target system. You can choose single unique key or compound keys.
So far, we have specify the connection to the two systems and the column mapping between the two systems. The rest of the screens will have an option to fine tune the behavior of this replication task and to specify any additional parameters. For example, you can choose whether you would like to replicate Insert of the new data, Update or Delete made on the Lotus Notes applications to the SQL server. You can also filter the data coming thru by specifying a filter condition. The syntax of the filter conditions depend on the system specify as a source or target. In this case, since Lotus Notes is the source, the filter condition for source should be specify in Lotus Notes formula syntax. For the target systems, which is SQL server, it would be in the SQL WHERE clause syntax. For example, I could specify COMPANY OWNERSHIP = ‘PUBLIC’ to filter the record for only the publicly listed companies.
ecKnowledge® can also use a TimeStamp column to perform a very efficient replication of the information. With this timestamp, it can detect just the changes made to the systems so that only those changes are brought over to the target system. If you do not have a timestamp column such as LastModify, $Modify, you could also use a signature base algorithm to detect the changes.
We have specified all the required parameters for this application job. For the rest of the screen, you could leave the default parameters and click NEXT. On the EXECUTION CONTROL screen, an important parameter to note is the COMPUTER NAME field on the top. If you specify a computer name, then only the ecKnowledge® Server installed on that computer will execute this particular job. If you leave the field blank, any ecKnowledge® Server which is least loaded will pick up this particular job. You are also able to sequence different ecKnowledge® activities one after the other based on a successful execution or on error execution.
The replication task that we have created can be specified on a scheduled basis or you can invoke this job from your application using the ecKnowledge® COM or XML interface. You can always invoke this job ad-hoc basis from Composer or ecKnowledge® Server Manager.
This screen allows you to specify any administrative notification that ecKnowledge® should send out on the successful execution of this job or in case of error.
Finally, you need to enter an unique name for this job and optionally give a category.
When you click FINISH, this replication object is saved within ecKnowledge® system. If you want to make any modification to the job, you can double click on the name of the job and it will open up the properties sheet view which will let you specify any additional parameters.
We are now ready to run this application using the exKnowledge Server. To run this application on ad-hoc basis, you could right-click on the job name in the tree, and click on the SUBMIT JOB button or you could also go to the Server Manager program to initial this job.
This job has now been submitted to the ecKnowledge® Server for processing. You can always go to the Server Manager component to look at the current activities of the server, or you could also look at the activities history which will show you the execution of this particular task. When you double click on the task, you can look at the details of this activity, and you can see right here that this replication has migrated 47 records from Lotus Notes forms to the SQL Server tables.
Let’s examine the SQL Server and look at the content brought over. As you can see, the information in the Lotus Notes form has been translated to the SQL table.
Now we have a basic application which integration Lotus Notes CRM application to SQL server.
Let’s take a look at these ecKnowledge® components in the context of real life migration of a Notes CRM to SQL Server.
ecKnowledge® Composer is the application development environment. When you start up the composer, you will see a tree view of different objects and the category of objects in the ecKnowledge® systems. These objects are non-programming objects. You create these by filling out information in the composer wizards and dialog boxes. These objects together, will make up your migration and co-existence applications.
ecKnowledge® Server, allows you to manage the server, locally or remotely. It allows you to start and stop the servers, looking at task current activities, histories and monitoring migration jobs.
Let’s use these two components to build a real life migration and co-existing example application.
WWI uses the Notes Sales Tracking database to keep track of their prospects. The information includes contact information, company profiles and sales goal and strategies.
This application, can be rebuild using Microsoft technology, such as using Visual.Net and MS SQL server as the data store for this applicaiton.
Let’s take a look at the corresponding table in MS SQL server that represent the forms in Notes application. This AccountProfile table in the SQL server is currently empty. Will use ecKnowledge® components to link up the Lotus Notes account form with the SQL server tables.
In the Composer tree-view, there are two main categories. One is called JOBS, these are the objects that can be run by the ecKnowledge® Server, and the COMPONENT OBJECTS, in which you will use it to build the migration or co-existence objects. In this application, you may want to build an REPLICATION JOB in which you will synchronizes the information from Lotus Notes Account Profile form with the Account Profile table in the SQL server
You can always right click on the JOB TYPE to start the wizard to create the job, or you can click on the CREATE menu and choose the REPLICATION options to start the wizard.
The wizard will guild you step by step to the different options that you need to specify to create this co-existence application.
On the first screen, it will allow you to create a connection your source system. In this case, it will be Lotus Notes. If you already have a connection, you can drop down the list and choose the connection. Otherwise, you can click on the CREATE NEW CONNECTION button to create this connection to Lotus Notes.
First thing you would do, is give a name to the Connection object. We call it the Training Notes CRM. Then, you drop down the CONNECTION TYPE LIST and choose the type of this connection to your source database. Based on the CONNECTION TYPE selected, the rest of the screen will allow you to enter the information required to make a connection to that system. Remember you would need to have the client software configured in order to allow you to choose the connection type.
You can select a Lotus Notes database from the Domino server, or you can select a database local on this computer. Once you specify the information required for the connection, you can hit ok and that connection will be available to you in the source wizard.
Once the connection is established, ecKnowledge® will retrieve the meta-data from that system. In case of Lotus Notes
It will be the list of the Forms and Views in the database selected in the connection. Will go ahead to use the ACCOUNT PROFILE FORM for this application.
The next step would be to specify a similar connection to the Target system. I can go ahead and select the pre-define connection to SQL server. When you click on the Properties of the Connection, you can see how you can configure the name of the SQL server to connect to, and the database which contains the table that we want to integrate with Lotus Notes.
Once you select the connection to SQL server, ecKnowledge® will retrieve the list of Tables, Views and Stored Procedure that you can use from the SQL server. In this application, we will use the ACCOUNT PROFILE TABLE on the SQL server.
The next step is to specify to ecKnowledge® whether this application is a replication or a synchronization. For replication, chose the One-Way Replication button. For Synchronization between the two systems, choose, the Two-Way Synchronization button. If you are planning for co-existing the Lotus Notes application with SQL server, you might want to use the two way replication option.
After you have specify the source and target systems, and choose the tables and forms of interest, you will need to specify mapping between columns and attributes of the fields between these two systems. You can do that by click on the COLUMN MAPPING button.
For the column which has same or similar names, ecKnowledge® can automatically match those columns for you. In the following screen, you will see on the Left side, the list of fields from the source system, which is the Lotus Notes ACCOUNT PROFILE form. On the right side, you will see a list of columns from the SQL server dbo.AccountProfile table. In the middle, you will see a list of columns that have been mapped between these two systems by ecKnowledge®. For columns with dissimilar names, you can select the column from the left list from the Lotus Notes application, and you can select corresponding column from SQL server can click on the Add button.
As you can see, once you click on a column, ecKnowledge® will display the attributes of the field such as name, data type and length for your information. Let’s go ahead and map the rest of the columns between these two systems.
After you have done mapping the columns between the two systems, you would need to specify one or more column as the key to uniquely identify the records on the target system. You can choose single unique key or compound keys.
So far, we have specify the connection to the two systems and the column mapping between the two systems. The rest of the screens will have an option to fine tune the behavior of this replication task and to specify any additional parameters. For example, you can choose whether you would like to replicate Insert of the new data, Update or Delete made on the Lotus Notes applications to the SQL server. You can also filter the data coming thru by specifying a filter condition. The syntax of the filter conditions depend on the system specify as a source or target. In this case, since Lotus Notes is the source, the filter condition for source should be specify in Lotus Notes formula syntax. For the target systems, which is SQL server, it would be in the SQL WHERE clause syntax. For example, I could specify COMPANY OWNERSHIP = ‘PUBLIC’ to filter the record for only the publicly listed companies.
ecKnowledge® can also use a TimeStamp column to perform a very efficient replication of the information. With this timestamp, it can detect just the changes made to the systems so that only those changes are brought over to the target system. If you do not have a timestamp column such as LastModify, $Modify, you could also use a signature base algorithm to detect the changes.
We have specified all the required parameters for this application job. For the rest of the screen, you could leave the default parameters and click NEXT. On the EXECUTION CONTROL screen, an important parameter to note is the COMPUTER NAME field on the top. If you specify a computer name, then only the ecKnowledge® Server installed on that computer will execute this particular job. If you leave the field blank, any ecKnowledge® Server which is least loaded will pick up this particular job. You are also able to sequence different ecKnowledge® activities one after the other based on a successful execution or on error execution.
The replication task that we have created can be specified on a scheduled basis or you can invoke this job from your application using the ecKnowledge® COM or XML interface. You can always invoke this job ad-hoc basis from Composer or ecKnowledge® Server Manager.
This screen allows you to specify any administrative notification that ecKnowledge® should send out on the successful execution of this job or in case of error.
Finally, you need to enter an unique name for this job and optionally give a category.
When you click FINISH, this replication object is saved within ecKnowledge® system. If you want to make any modification to the job, you can double click on the name of the job and it will open up the properties sheet view which will let you specify any additional parameters.
We are now ready to run this application using the exKnowledge Server. To run this application on ad-hoc basis, you could right-click on the job name in the tree, and click on the SUBMIT JOB button or you could also go to the Server Manager program to initial this job.
This job has now been submitted to the ecKnowledge® Server for processing. You can always go to the Server Manager component to look at the current activities of the server, or you could also look at the activities history which will show you the execution of this particular task. When you double click on the task, you can look at the details of this activity, and you can see right here that this replication has migrated 47 records from Lotus Notes forms to the SQL Server tables.
Let’s examine the SQL Server and look at the content brought over. As you can see, the information in the Lotus Notes form has been translated to the SQL table.
Now we have a basic application which integration Lotus Notes CRM application to SQL server.
50. Hands-on Lab Exercise 2d
Coexist between Notes Discussion Team Room with WSS
51. ecKnowledge® Demo Notes Discussion Team Room to Exchange Let’s take a look at these ecKnowledge® components in the context of real life migration of a Notes CRM to SQL Server.
ecKnowledge® Composer is the application development environment. When you start up the composer, you will see a tree view of different objects and the category of objects in the ecKnowledge® systems. These objects are non-programming objects. You create these by filling out information in the composer wizards and dialog boxes. These objects together, will make up your migration and co-existence applications.
ecKnowledge® Server, allows you to manage the server, locally or remotely. It allows you to start and stop the servers, looking at task current activities, histories and monitoring migration jobs.
Let’s use these two components to build a real life migration and co-existing example application.
WWI uses the Notes Sales Tracking database to keep track of their prospects. The information includes contact information, company profiles and sales goal and strategies.
This application, can be rebuild using Microsoft technology, such as using Visual.Net and MS SQL server as the data store for this applicaiton.
Let’s take a look at the corresponding table in MS SQL server that represent the forms in Notes application. This AccountProfile table in the SQL server is currently empty. Will use ecKnowledge® components to link up the Lotus Notes account form with the SQL server tables.
In the Composer tree-view, there are two main categories. One is called JOBS, these are the objects that can be run by the ecKnowledge® Server, and the COMPONENT OBJECTS, in which you will use it to build the migration or co-existence objects. In this application, you may want to build an REPLICATION JOB in which you will synchronizes the information from Lotus Notes Account Profile form with the Account Profile table in the SQL server
You can always right click on the JOB TYPE to start the wizard to create the job, or you can click on the CREATE menu and choose the REPLICATION options to start the wizard.
The wizard will guild you step by step to the different options that you need to specify to create this co-existence application.
On the first screen, it will allow you to create a connection your source system. In this case, it will be Lotus Notes. If you already have a connection, you can drop down the list and choose the connection. Otherwise, you can click on the CREATE NEW CONNECTION button to create this connection to Lotus Notes.
First thing you would do, is give a name to the Connection object. We call it the Training Notes CRM. Then, you drop down the CONNECTION TYPE LIST and choose the type of this connection to your source database. Based on the CONNECTION TYPE selected, the rest of the screen will allow you to enter the information required to make a connection to that system. Remember you would need to have the client software configured in order to allow you to choose the connection type.
You can select a Lotus Notes database from the Domino server, or you can select a database local on this computer. Once you specify the information required for the connection, you can hit ok and that connection will be available to you in the source wizard.
Once the connection is established, ecKnowledge® will retrieve the meta-data from that system. In case of Lotus Notes
It will be the list of the Forms and Views in the database selected in the connection. Will go ahead to use the ACCOUNT PROFILE FORM for this application.
The next step would be to specify a similar connection to the Target system. I can go ahead and select the pre-define connection to SQL server. When you click on the Properties of the Connection, you can see how you can configure the name of the SQL server to connect to, and the database which contains the table that we want to integrate with Lotus Notes.
Once you select the connection to SQL server, ecKnowledge® will retrieve the list of Tables, Views and Stored Procedure that you can use from the SQL server. In this application, we will use the ACCOUNT PROFILE TABLE on the SQL server.
The next step is to specify to ecKnowledge® whether this application is a replication or a synchronization. For replication, chose the One-Way Replication button. For Synchronization between the two systems, choose, the Two-Way Synchronization button. If you are planning for co-existing the Lotus Notes application with SQL server, you might want to use the two way replication option.
After you have specify the source and target systems, and choose the tables and forms of interest, you will need to specify mapping between columns and attributes of the fields between these two systems. You can do that by click on the COLUMN MAPPING button.
For the column which has same or similar names, ecKnowledge® can automatically match those columns for you. In the following screen, you will see on the Left side, the list of fields from the source system, which is the Lotus Notes ACCOUNT PROFILE form. On the right side, you will see a list of columns from the SQL server dbo.AccountProfile table. In the middle, you will see a list of columns that have been mapped between these two systems by ecKnowledge®. For columns with dissimilar names, you can select the column from the left list from the Lotus Notes application, and you can select corresponding column from SQL server can click on the Add button.
As you can see, once you click on a column, ecKnowledge® will display the attributes of the field such as name, data type and length for your information. Let’s go ahead and map the rest of the columns between these two systems.
After you have done mapping the columns between the two systems, you would need to specify one or more column as the key to uniquely identify the records on the target system. You can choose single unique key or compound keys.
So far, we have specify the connection to the two systems and the column mapping between the two systems. The rest of the screens will have an option to fine tune the behavior of this replication task and to specify any additional parameters. For example, you can choose whether you would like to replicate Insert of the new data, Update or Delete made on the Lotus Notes applications to the SQL server. You can also filter the data coming thru by specifying a filter condition. The syntax of the filter conditions depend on the system specify as a source or target. In this case, since Lotus Notes is the source, the filter condition for source should be specify in Lotus Notes formula syntax. For the target systems, which is SQL server, it would be in the SQL WHERE clause syntax. For example, I could specify COMPANY OWNERSHIP = ‘PUBLIC’ to filter the record for only the publicly listed companies.
ecKnowledge® can also use a TimeStamp column to perform a very efficient replication of the information. With this timestamp, it can detect just the changes made to the systems so that only those changes are brought over to the target system. If you do not have a timestamp column such as LastModify, $Modify, you could also use a signature base algorithm to detect the changes.
We have specified all the required parameters for this application job. For the rest of the screen, you could leave the default parameters and click NEXT. On the EXECUTION CONTROL screen, an important parameter to note is the COMPUTER NAME field on the top. If you specify a computer name, then only the ecKnowledge® Server installed on that computer will execute this particular job. If you leave the field blank, any ecKnowledge® Server which is least loaded will pick up this particular job. You are also able to sequence different ecKnowledge® activities one after the other based on a successful execution or on error execution.
The replication task that we have created can be specified on a scheduled basis or you can invoke this job from your application using the ecKnowledge® COM or XML interface. You can always invoke this job ad-hoc basis from Composer or ecKnowledge® Server Manager.
This screen allows you to specify any administrative notification that ecKnowledge® should send out on the successful execution of this job or in case of error.
Finally, you need to enter an unique name for this job and optionally give a category.
When you click FINISH, this replication object is saved within ecKnowledge® system. If you want to make any modification to the job, you can double click on the name of the job and it will open up the properties sheet view which will let you specify any additional parameters.
We are now ready to run this application using the exKnowledge Server. To run this application on ad-hoc basis, you could right-click on the job name in the tree, and click on the SUBMIT JOB button or you could also go to the Server Manager program to initial this job.
This job has now been submitted to the ecKnowledge® Server for processing. You can always go to the Server Manager component to look at the current activities of the server, or you could also look at the activities history which will show you the execution of this particular task. When you double click on the task, you can look at the details of this activity, and you can see right here that this replication has migrated 47 records from Lotus Notes forms to the SQL Server tables.
Let’s examine the SQL Server and look at the content brought over. As you can see, the information in the Lotus Notes form has been translated to the SQL table.
Now we have a basic application which integration Lotus Notes CRM application to SQL server.
Let’s take a look at these ecKnowledge® components in the context of real life migration of a Notes CRM to SQL Server.
ecKnowledge® Composer is the application development environment. When you start up the composer, you will see a tree view of different objects and the category of objects in the ecKnowledge® systems. These objects are non-programming objects. You create these by filling out information in the composer wizards and dialog boxes. These objects together, will make up your migration and co-existence applications.
ecKnowledge® Server, allows you to manage the server, locally or remotely. It allows you to start and stop the servers, looking at task current activities, histories and monitoring migration jobs.
Let’s use these two components to build a real life migration and co-existing example application.
WWI uses the Notes Sales Tracking database to keep track of their prospects. The information includes contact information, company profiles and sales goal and strategies.
This application, can be rebuild using Microsoft technology, such as using Visual.Net and MS SQL server as the data store for this applicaiton.
Let’s take a look at the corresponding table in MS SQL server that represent the forms in Notes application. This AccountProfile table in the SQL server is currently empty. Will use ecKnowledge® components to link up the Lotus Notes account form with the SQL server tables.
In the Composer tree-view, there are two main categories. One is called JOBS, these are the objects that can be run by the ecKnowledge® Server, and the COMPONENT OBJECTS, in which you will use it to build the migration or co-existence objects. In this application, you may want to build an REPLICATION JOB in which you will synchronizes the information from Lotus Notes Account Profile form with the Account Profile table in the SQL server
You can always right click on the JOB TYPE to start the wizard to create the job, or you can click on the CREATE menu and choose the REPLICATION options to start the wizard.
The wizard will guild you step by step to the different options that you need to specify to create this co-existence application.
On the first screen, it will allow you to create a connection your source system. In this case, it will be Lotus Notes. If you already have a connection, you can drop down the list and choose the connection. Otherwise, you can click on the CREATE NEW CONNECTION button to create this connection to Lotus Notes.
First thing you would do, is give a name to the Connection object. We call it the Training Notes CRM. Then, you drop down the CONNECTION TYPE LIST and choose the type of this connection to your source database. Based on the CONNECTION TYPE selected, the rest of the screen will allow you to enter the information required to make a connection to that system. Remember you would need to have the client software configured in order to allow you to choose the connection type.
You can select a Lotus Notes database from the Domino server, or you can select a database local on this computer. Once you specify the information required for the connection, you can hit ok and that connection will be available to you in the source wizard.
Once the connection is established, ecKnowledge® will retrieve the meta-data from that system. In case of Lotus Notes
It will be the list of the Forms and Views in the database selected in the connection. Will go ahead to use the ACCOUNT PROFILE FORM for this application.
The next step would be to specify a similar connection to the Target system. I can go ahead and select the pre-define connection to SQL server. When you click on the Properties of the Connection, you can see how you can configure the name of the SQL server to connect to, and the database which contains the table that we want to integrate with Lotus Notes.
Once you select the connection to SQL server, ecKnowledge® will retrieve the list of Tables, Views and Stored Procedure that you can use from the SQL server. In this application, we will use the ACCOUNT PROFILE TABLE on the SQL server.
The next step is to specify to ecKnowledge® whether this application is a replication or a synchronization. For replication, chose the One-Way Replication button. For Synchronization between the two systems, choose, the Two-Way Synchronization button. If you are planning for co-existing the Lotus Notes application with SQL server, you might want to use the two way replication option.
After you have specify the source and target systems, and choose the tables and forms of interest, you will need to specify mapping between columns and attributes of the fields between these two systems. You can do that by click on the COLUMN MAPPING button.
For the column which has same or similar names, ecKnowledge® can automatically match those columns for you. In the following screen, you will see on the Left side, the list of fields from the source system, which is the Lotus Notes ACCOUNT PROFILE form. On the right side, you will see a list of columns from the SQL server dbo.AccountProfile table. In the middle, you will see a list of columns that have been mapped between these two systems by ecKnowledge®. For columns with dissimilar names, you can select the column from the left list from the Lotus Notes application, and you can select corresponding column from SQL server can click on the Add button.
As you can see, once you click on a column, ecKnowledge® will display the attributes of the field such as name, data type and length for your information. Let’s go ahead and map the rest of the columns between these two systems.
After you have done mapping the columns between the two systems, you would need to specify one or more column as the key to uniquely identify the records on the target system. You can choose single unique key or compound keys.
So far, we have specify the connection to the two systems and the column mapping between the two systems. The rest of the screens will have an option to fine tune the behavior of this replication task and to specify any additional parameters. For example, you can choose whether you would like to replicate Insert of the new data, Update or Delete made on the Lotus Notes applications to the SQL server. You can also filter the data coming thru by specifying a filter condition. The syntax of the filter conditions depend on the system specify as a source or target. In this case, since Lotus Notes is the source, the filter condition for source should be specify in Lotus Notes formula syntax. For the target systems, which is SQL server, it would be in the SQL WHERE clause syntax. For example, I could specify COMPANY OWNERSHIP = ‘PUBLIC’ to filter the record for only the publicly listed companies.
ecKnowledge® can also use a TimeStamp column to perform a very efficient replication of the information. With this timestamp, it can detect just the changes made to the systems so that only those changes are brought over to the target system. If you do not have a timestamp column such as LastModify, $Modify, you could also use a signature base algorithm to detect the changes.
We have specified all the required parameters for this application job. For the rest of the screen, you could leave the default parameters and click NEXT. On the EXECUTION CONTROL screen, an important parameter to note is the COMPUTER NAME field on the top. If you specify a computer name, then only the ecKnowledge® Server installed on that computer will execute this particular job. If you leave the field blank, any ecKnowledge® Server which is least loaded will pick up this particular job. You are also able to sequence different ecKnowledge® activities one after the other based on a successful execution or on error execution.
The replication task that we have created can be specified on a scheduled basis or you can invoke this job from your application using the ecKnowledge® COM or XML interface. You can always invoke this job ad-hoc basis from Composer or ecKnowledge® Server Manager.
This screen allows you to specify any administrative notification that ecKnowledge® should send out on the successful execution of this job or in case of error.
Finally, you need to enter an unique name for this job and optionally give a category.
When you click FINISH, this replication object is saved within ecKnowledge® system. If you want to make any modification to the job, you can double click on the name of the job and it will open up the properties sheet view which will let you specify any additional parameters.
We are now ready to run this application using the exKnowledge Server. To run this application on ad-hoc basis, you could right-click on the job name in the tree, and click on the SUBMIT JOB button or you could also go to the Server Manager program to initial this job.
This job has now been submitted to the ecKnowledge® Server for processing. You can always go to the Server Manager component to look at the current activities of the server, or you could also look at the activities history which will show you the execution of this particular task. When you double click on the task, you can look at the details of this activity, and you can see right here that this replication has migrated 47 records from Lotus Notes forms to the SQL Server tables.
Let’s examine the SQL Server and look at the content brought over. As you can see, the information in the Lotus Notes form has been translated to the SQL table.
Now we have a basic application which integration Lotus Notes CRM application to SQL server.
53. Visual Studio.NET Application Generation Quick and easy jumpstart into creating new applications
Fully automated point-and-click way to recreate framework of Notes forms using VS.NET / InfoPath and SQL Server In addition the Notes data will be integrated with SQL Server, providing a two way co-existence between Notes app and the new app to develop test and deploy the new application. The functionality will be a great way to jumpstart Notes developers to VS. NET for consultants to create a framework of Microsoft platform based apps quickly and to bring down the overall cost of the conversion process.
…Getting into complex area, only provides a basis of new app
In addition the Notes data will be integrated with SQL Server, providing a two way co-existence between Notes app and the new app to develop test and deploy the new application. The functionality will be a great way to jumpstart Notes developers to VS. NET for consultants to create a framework of Microsoft platform based apps quickly and to bring down the overall cost of the conversion process.
…Getting into complex area, only provides a basis of new app
54. Visual Studio.NET Application Generation Choice of Windows Form, Web Form (ASP.NET), or InfoPath as target form
Choice of C# and VB.NET
Resulting application is “live”, i.e. bound to SQL and fully functional
55. Visual Studio.NET Application Generation Resulting code engineered to follow Microsoft best practices
Code structure based on Microsoft Pet Store 3.0 application
56. Exercise Scenario IT Service Request tracking application in Notes
Goal
Transfer the Notes data to SQL Server
Create the new ASP.NET application using ecKnowledge code generator
57. Hands-on Lab Exercise 3
Convert a Lotus Notes application to VS.NET Web Application using SQL Server
58. Microsoft Office InfoPath New product in Office 2003
RAD environment
Can connect to various data sources including SQL Server, XML, Web Services, and Access
Easy to add data validation and script events
Can publish to SharePoint form library
59. Exercise Scenario Lotus Notes Employee Performance Evaluation application
Goal
To migrate this application to the Microsoft Office InfoPath 2003, using SQL Server data store
61. ecKnowledge Components
Connection
Provides the information to connect to a system, such as server, database, login
Data Transformation
Used to change data to correspond to the target environment
62. Component Objects Action
Trigger events when the record being exchanged contains data that meets a specified set of conditions
Rule
Perform integrity checking, permitting only those records that satisfy the specified rule to be included in the data transfer
63. Component Objects Event
Set a condition to determine when an ecKnowledge® job runs
Error handler
Handle non-critical errors using VBScript
Send email messages
Write error message to source system
64. ecKnowledge® Component Data Transformation
65. Transforming Data Using ecKnowledge® Components Rich Set Of Transformation Primitives
Using VBScript, COM, JavaScript, and Notes formula language
Mapping table for simple value transformations
Lookup external table
66. Adding Data Transformation Steps To Transform Data
Create Data Transformation object
Data transformation is always associated with the source (not target) connection
In scripts, use field names from Source
Do not change data type
Specify The Transformation In Column Mapping
Remove mapping and Add with Data Transformation
Transformation Table
External Table Lookup
Symmetrical Transformation For Coexistence
67. ecKnowledge® Demo Notes Service Request to SQL Server Replication
Adding Data Transformation Let’s use Data Transformation feature in our CRM application scenario.
If you look at this Account Profile data, in the Company Ownership field on the right, the Company Ownership is specify as a string which is Private or Public.
Let’s say the DBA of SQL server would rather have this field specify as a 4 letter code.
Let’s use ecKnowledge® to transform this value which is a string of public and private into 4 letter code PUBL and PRIV when it comes over to SQL server.
We will be using Data Transformation Component object within ecKnowledge® Composer for this purpose.
The Data Transformation object can be specified as a script or a Transformation Table, or by doing a lookup on a External Table.
We have a simple VB script here, which looks up on the Company Ownership value and translate it base on the criteria SQL server expects. From within the VB script, you can also invoke external COM objects to perform more complex processing.
For simple cases, you could transform one set of value to the other set of values by entering those values right here in the Transformation Table. You could also asked ecKnowledge® to lookup an external table to translate the value to a new set of codes.
Once you have created the transformation, the next step would be for you to use it within the ecKnowledge® application. Let’s go ahead and modify the Notes CRM application to make use of this Data Transformation object.
You would do that using the Column Mapping screen. The Company Ownership field now has a direct mapping between Lotus Notes form and SQL tables. Let’s remove this mapping for a moment and we will add it back again, this time, thru a Data Transformation object.
As you can see now, as the Company Ownership data moves from Notes application to SQL Server, it is going to first execute the Company Ownership Data Transformation.
Let’s go ahead to resave this job, and submit it to the ecKnowledge® Server.
Let’s examine the Account Profile table in SQL server, and as you can see, now the Company Ownership field now has the new 4 letter code PRIV and PUBL as required by the SQL DBA.Let’s use Data Transformation feature in our CRM application scenario.
If you look at this Account Profile data, in the Company Ownership field on the right, the Company Ownership is specify as a string which is Private or Public.
Let’s say the DBA of SQL server would rather have this field specify as a 4 letter code.
Let’s use ecKnowledge® to transform this value which is a string of public and private into 4 letter code PUBL and PRIV when it comes over to SQL server.
We will be using Data Transformation Component object within ecKnowledge® Composer for this purpose.
The Data Transformation object can be specified as a script or a Transformation Table, or by doing a lookup on a External Table.
We have a simple VB script here, which looks up on the Company Ownership value and translate it base on the criteria SQL server expects. From within the VB script, you can also invoke external COM objects to perform more complex processing.
For simple cases, you could transform one set of value to the other set of values by entering those values right here in the Transformation Table. You could also asked ecKnowledge® to lookup an external table to translate the value to a new set of codes.
Once you have created the transformation, the next step would be for you to use it within the ecKnowledge® application. Let’s go ahead and modify the Notes CRM application to make use of this Data Transformation object.
You would do that using the Column Mapping screen. The Company Ownership field now has a direct mapping between Lotus Notes form and SQL tables. Let’s remove this mapping for a moment and we will add it back again, this time, thru a Data Transformation object.
As you can see now, as the Company Ownership data moves from Notes application to SQL Server, it is going to first execute the Company Ownership Data Transformation.
Let’s go ahead to resave this job, and submit it to the ecKnowledge® Server.
Let’s examine the Account Profile table in SQL server, and as you can see, now the Company Ownership field now has the new 4 letter code PRIV and PUBL as required by the SQL DBA.
68. Exercise Scenario In the IT Service Request application, convert Priority field to “low” where Priority is null
Create a data transformation using ServiceRequestWebForm table
Add this Data Transformation to Priority using Column Mapping
Run the application again
69. Hands-on Lab Exercise 5a
- Adding Data Transformation
70. ecKnowledge® Component Action
71. Actions Trigger Workflows Based On Events
VBScript/JavaScript Allows You To Invoke External Business Logic In COM Or Other Components
Send e-mail
Perform Row/Document Level Manipulations
As opposed to field/column-level manipulation using Data Transformation Another ecKnowledge® feature, which is especially useful for Collaborative application, is what is call as Workflow Actions.
The Workflow Actions allow you to trigger workflow based on different events such as insert, update or delete a data in a system. The action allows you to invoke a workflow through VB Scripts or a Java script which allows you to even invoke external business logic in COM or other objects.
You can also send email notification, perform row or document level manipulationsAnother ecKnowledge® feature, which is especially useful for Collaborative application, is what is call as Workflow Actions.
The Workflow Actions allow you to trigger workflow based on different events such as insert, update or delete a data in a system. The action allows you to invoke a workflow through VB Scripts or a Java script which allows you to even invoke external business logic in COM or other objects.
You can also send email notification, perform row or document level manipulations
72. Actions Examples:
Credit Limit Action:
If a customer has exceeded the credit limit, the information is sent to the credit department’s customer tracking for processing
Concatenation Action:
First Name and Last Name fields to Full Name
Splitting Action:
Full Name field to First Name and Last Name
Actions are always specific to a job
73. Types of Actions Send e-mail Notifications
Execute VBScript Or JavaScript
Execute data source native scripts, such as Lotus Notes formula
Execute a stored procedure on DBMS with input/output parameters
Execute a Lotus Notes agent
Attach files to message/document
74. Exercise Scenario SQL DBA would like the Department Code to be translated from “HR” in Lotus Notes to “Human Resources” to run on insert and updates of records in Lotus Notes to SQL Server
75. ecKnowledge® Demo Actions Let’s take a quick look at the Workflow Actions and other ways to specify business rules and to handle error within the ecKnowledge® process.
In this Lotus Notes CRM co-existence application, we can use the Action object to notify SQL server users anytime a Lotus Notes user modifies the contact information in Lotus Notes.
You can right click on Action component in the tree to create an Action.
First thing you would do is give it a name. Next, you specify the job context, this would be the co-existence application that we just created.
Will choose Update event to send this notification, another word, anytime dbo.AccountProfile table is updated because of a change in Lotus Notes system, we can send an email.
When you click on the SendMail tab, using VB script, you can specify the recipients of this email and the content.
So, anytime a Lotus Notes user updates the Contact information using Account Profile form, ecKnowledge® will automatically send a notification with the subject of the email as we constructed using VB script.
Another ecKnowledge® component object that is useful for co-existence application is what’s call as the Rule object. It let’s you specify business rules to be checked before ecKnowledge® inserts or updates any information to the target systems. You can do that by creating a VB script. You can also use the Error Handler component object to take care of such business exceptions. You may notify the administrators or automatically fix the error conditions using VB scripts.Let’s take a quick look at the Workflow Actions and other ways to specify business rules and to handle error within the ecKnowledge® process.
In this Lotus Notes CRM co-existence application, we can use the Action object to notify SQL server users anytime a Lotus Notes user modifies the contact information in Lotus Notes.
You can right click on Action component in the tree to create an Action.
First thing you would do is give it a name. Next, you specify the job context, this would be the co-existence application that we just created.
Will choose Update event to send this notification, another word, anytime dbo.AccountProfile table is updated because of a change in Lotus Notes system, we can send an email.
When you click on the SendMail tab, using VB script, you can specify the recipients of this email and the content.
So, anytime a Lotus Notes user updates the Contact information using Account Profile form, ecKnowledge® will automatically send a notification with the subject of the email as we constructed using VB script.
Another ecKnowledge® component object that is useful for co-existence application is what’s call as the Rule object. It let’s you specify business rules to be checked before ecKnowledge® inserts or updates any information to the target systems. You can do that by creating a VB script. You can also use the Error Handler component object to take care of such business exceptions. You may notify the administrators or automatically fix the error conditions using VB scripts.
76. Hands-on Lab Exercise 5b – Action for record-level data manipulation
77. Lotus Notes Multi-value list Collapse/expand when mapped to SQL
Normalize the data to flat rows in SQL
Replicated as a list to Outlook/Exchange
Semi-colon separated text for other cases
78. Lotus Notes File Attachments Map to SharePoint document library or as an attachment to other item (e.g. discussion)
Map to Outlook/Exchange as an attachment
Map to SQL Image columns as binary stream using Column Mapping
Extract to file system
79. Lotus Notes Rich Text SharePoint
Converted to HTML
WSS has limited support for HTML
SQL
Converted to Microsoft RTF or HTML when mapped to SQL Server “Text” column
Text value extracted out in all other cases
Exchange/Outlook
Microsoft RTF
80. Lotus Notes Rich Text DocLinks converted to HTTP URL on Domino Server
OLE Embedded Objects are transferred as pictures and file attachments
There will be some loss of formatting
No other system supports as rich content structures as Notes does
Some constructs do not have equivalent
81. Security ecKnowledge enforces the security constructs on all the systems
Does not convert Notes security to Microsoft security model
Allows you to extracts Notes ACL to be able to write custom code to enforce security
Tool for converting to WSS site permissions
System integrators need to design and plan the security architecture
82. Offline Storage Simple cases
Offline features in Office 2003
More complex offline applications
Custom applications based on MSDE/SQL Server
Groove Networks
ecKnowledge can use Web services to integrate Notes applications with Groove
83. Workflow Exchange emails based on application events
SQL Server notification service
Custom .NET code
BizTalk 2004 Human Workflow Services
SourceCode, K2.NET, and Ascentn workflow engines
ecKnowledge code generator is architected to leverage these products
84. ecKnowledge Benefits Summary Coexistence leading to migration
Rich data integration options
Application generation
Quick ROI and low operating costs
Vast connectivity
Rapid application development environment
Non-intrusive to existing infrastructure
85. Installation Hardware Requirements
Intel P3 550 MHZ or above processor
256 MB RAM
50 MB disk space
Software Requirements
Windows NT/2000/XP/2003
Client Software for your data sources /put in your notes.///put in your notes.//
86. System Requirements For Notes integration
Notes client, with DLLs in System PATH
ID file must have required access to databases
Configure connection to target platform
SQL Server, ShaerPoint, or other server
Install using administrative login
Request Activation Site Key after install
Send Site Code using Key Editor to: key@casahl.com Finally, let’s look at the installation and system requirements of ecKnowledge®.
In order to integrate with Lotus Notes, you need a Lotus Notes client on the computer, make sure the LN dll is specified in the system path environment variables.
You must also configure the connection to the target systems such as SQL, Exchange or any other Microsoft servers.
It is recommended that you install ecKnowledge® using NT administrative login
Finally, let’s look at the installation and system requirements of ecKnowledge®.
In order to integrate with Lotus Notes, you need a Lotus Notes client on the computer, make sure the LN dll is specified in the system path environment variables.
You must also configure the connection to the target systems such as SQL, Exchange or any other Microsoft servers.
It is recommended that you install ecKnowledge® using NT administrative login
87. Key Editor Used to activate or maintain ecKnowledge license on the computer
License is specific to a computer Site Code
Send the Site Code and CRC to CASAHL to get an activation key
Key Editor shows you the connectors you are licensed to and the license validity period
88. ecKnowledge® System Databases ecKnowledge® relies on two internal databases
System Catalog – repository for all object definitions
Log – The file that records ecKnowledge® events
89. Configuring System Catalog and Log Composer & Server should be configured to use the same system catalog
Servers should share the catalog for load balancing
Use SQL Server for large projects
System catalog conversion tool can convert from one store to another
Log database can be configured in Server Manager
90. Server Administration Server Manager can be used to work with all the servers on the network
Need administrative privileges on the server computer
Configure number of threads depending on the hardware and the system load
Options for shutdown for backup, scheduler, and port number
91. ecKnowledge Summary Comprehensive environment to integrate, extend, and/or migrate Notes Applications to Microsoft platform
Wizard-based UI
Enterprise strength server
Allows you to scale
Full support for the best-of-breed products in the Microsoft platform
Helps bring down the total cost of the projects ecKnowledge® also allows you to migrate and co-exist Notes applications with Microsoft best of breed servers.
It provides you with easy to use wizard which allows you to create or maintain the migration applications.
It is highly scalable and provides seamless integration to enterprise backend systems.
ecKnowledge® also allows you to migrate and co-exist Notes applications with Microsoft best of breed servers.
It provides you with easy to use wizard which allows you to create or maintain the migration applications.
It is highly scalable and provides seamless integration to enterprise backend systems.
92. Next Steps Huge opportunities for SIs to build solutions around CASAHL offering
Join CASAHL Partner Program to jointly pursue the opportunities
Try out ecKnowledge in your own environment
Download from http://www.casahl.com
Email to info@casahl.com to discuss your project requirements