Title: Integrate, Extend, or Migrate IBM Lotus Notes/Domino Applications to SharePoint, InfoPath, SQL Server, and VS.NET
1Integrate, Extend, or Migrate IBM Lotus
Notes/Domino Applications to SharePoint,
InfoPath, SQL Server, and VS.NET
- Sudeep TrivediChief Technology Officer
- CASAHL Technology, Inc.
2Agenda
- 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
3CASAHL 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
4CASAHL 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
5CASAHL ProductsIntegrate, Extend, and/or Migrate
Collaborative Applications
6CASAHL And Microsoft Partnership
- Toolset
- Developer of Application Analyzer for Lotus Notes
- ecKnowledge is Microsofts 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
7Lotus Notes/Domino And Microsoft Platform
- 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
8Approaches For Introducing Microsoft Technologies
- 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
9Strategies 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
10Toolset
- Microsoft Application Analyzer (developed by
CASAHL) - CASAHLs ecKnowledge for data and application
coexistence and migration
11Application 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
12Application 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
13demo
Microsoft Application Analyzer for Lotus Notes
14Categorizing Lotus Notes Applications
High
Complexity
Low
15ecKnowledge
- 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
16Leverage Rich Microsoft Target Set
SharePoint Office 2003, InfoPath
SQL Server
Exchange
Visual Studio .NET
Lotus Notes Domino
BizTalk Web services
17SharePoint 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
18demo
Using ecKnowledge To Extend Lotus Notes
Applications To SharePoint
19SQL 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
20demo
Lotus Notes Data Integration with SQL Server
21ecKnowledge .NET Application Generation
- 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
22demo
ecKnowledge Visual Studio .NETApplication
Generation
23Application 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
24Microsoft 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
25demo
Microsoft Office InfoPath 2003
26ecKnowledge 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
27Next Module
ecKnowledge Technical Training
28ecKnowledge Components
Composer
Server
Server Manager
System Catalog
Log
29Composer
- 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
30Server
- Windows Service or Console version
- Event logging
- Performance monitoring
- Load balancing and fail-over
31Server 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
32Developing 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
33Developing 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
34 demo
ecKnowledge Components Typical Development Process
35Summary 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
36Summary 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
37Summary of Replication Job Demo
- Timestamp or signature
- Schedule
- Execution Control
- Load balancing, job sequencing, logging, error
handling - Notifications
38Lab
Using ecKnowledge To Work With Windows SharePoint
Services
39Exercise 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
40ecKnowledge Demo
- Notes Document Library to WSS
41Hands-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
42Exercise 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
43ecKnowledge Demo
- Notes Project Task Application to WSS
44Hands-on Lab
- Exercise 2b
- Coexist between Notes Project Task Application
and WSS
45Exercise 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
46ecKnowledge Demo
- Notes Sales Tracking Application to WSS
47Hands-on Lab
- Exercise 2c
- Coexist between a Notes Sales Tracking
Application and WSS
48Exercise Scenario
- Discussion Team Room application
- Typical collaborative application in Notes
environment - Options
- Exchange Public Folder/Outlook
- Windows SharePoint Services
49ecKnowledge Demo
- Notes Discussion Team Room to WSS
50Hands-on Lab
- Exercise 2d
- Coexist between Notes Discussion Team Room with
WSS
51ecKnowledge Demo
- Notes Discussion Team Room to Exchange
52Lab
Using ecKnowledge To Work With SQL Server, And
Generate .NET and InfoPath Applications
53Visual 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
54Visual 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
55Visual Studio.NET Application Generation
- Resulting code engineered to follow Microsoft
best practices - Code structure based on Microsoft Pet Store 3.0
application
56Exercise 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
57Hands-on Lab
- Exercise 3
- Convert a Lotus Notes application to VS.NET Web
Application using SQL Server
58Microsoft 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
59Exercise Scenario
- Lotus Notes Employee Performance Evaluation
application - Goal
- To migrate this application to the Microsoft
Office InfoPath 2003, using SQL Server data store
60Next Module
ecKnowledge Component Objects
61ecKnowledge 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
62Component 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
63Component 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
64ecKnowledge Component
65Transforming 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
66Adding 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
67ecKnowledge Demo
- Notes Service Request to SQL Server Replication
- Adding Data Transformation
68Exercise 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
69Hands-on Lab
- Exercise 5a
- - Adding Data Transformation
70ecKnowledge Component
71Actions
- 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
72Actions
- Examples
- Credit Limit Action
- If a customer has exceeded the credit limit, the
information is sent to the credit departments
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
73Types 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
74Exercise 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
75ecKnowledge Demo
76Hands-on Lab
- Exercise 5b Action for record-level data
manipulation
77Lotus 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
78Lotus 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
79Lotus 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
80Lotus 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
81Security
- 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
82Offline 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
83Workflow
- 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
84ecKnowledge 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
85Installation
- 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
86System 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_at_casahl.com
87Key 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
88ecKnowledge System Databases
- ecKnowledge relies on two internal databases
- System Catalog repository for all object
definitions - Log The file that records ecKnowledge events
89Configuring 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
90Server 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
91ecKnowledge 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
92Next 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_at_casahl.com to discuss your project
requirements
93 ecKnowledge
Discussion Q A