porting dtc applications to wdk - dos and don'ts
DESCRIPTION
TRANSCRIPT
Ralf Klappert
WDK Do’s and Don'ts
ELCA Informatique SASenior Manager
Agenda
• WDK 4.2 – an overview• A real life example• WDK 5.0 – the road ahead• Conclusions• Q & A
Presentation G oals
• Allow you to understand the WDK• Provide you with a real life project
experience• Highlight the advantages / challenges
of WDK 4.2• Show you a sneak preview of WDK5
WDK 4.2 Conceptual View
J2EE
Configurable Framework
Documentum Java API
Presentation Components
DFC
WDK
WDK = Web Development Kit
WDK 4.2 Architecture
Web-S
erver Tier
JSP
DFC interface
WDK Web-server Layer
JSP
Java code
DFC layer
DMCL layer
Servlet
Java code
Thin C
lient Tier
E-content S
erver Tier
E-Content Server Database
JavaScript
JavaScript
WDK Browser Layer
XML config
XML config
Generated HTML
+DHTML
DMCL interface
Business Logic
J2EE
Configurable Framework
WDK
DFC
WDK 4.2 Features
• WDK is J2EE compliant� Servlets, JSP
• Provides ready-to -use components
• Extensible through WDK classes
• Rapid development cycles
• Multiple levels of customisation� XML – JSP – Java
Business Logic
J2EE
Configurable Framework
WDK
DFC
Real life example
Re-engineering a DTC application• Goals
� Optimise for WAN operation� Reduce deployment cost
• Opportunities� Align with Documentum web strategy� Future integration with web-based business
applications
From DTC …
Optimise for WAN operation
Desktop Client• Network intense• Synchronous operation• Client-side logic
LAN/WAN Performance comparison
40
200
280
25
13080
0
50
100
150
200
250
300
Login Scan & Import Complete Indexing
Tim
e in
sec
onds
DTC LAN DTC WAN
Functional Scope
DTC WDK Custom attributes; validation rules
Rewrite from scratch
Lifecycles No change required Smartlists Not Supported Customised search Limited supported Configurable result display Not supported Annotations Not supported Scanning integration Rewrite from scratch
Project Challenges
• User expectations� DTC Look & feel� DTC functionality
• Time to production� Staffing & skillset
• WDK 4.2� Maturity� Functional coverage
Design Decisions
• Use WDKspace• Limit Browser support to IE
� Use advanced DHTML
• Limit client – server communication� Improve response time
• Create re-usable component library� GUI components
Project Configuration
• MS IE 5.5
• WDKspace 4.2• WDK 4.2• DFC 4.2• Project
customisations
• eContent Server 4.1
Wep App Server
Business Logic
J2EE
Configurable Framework
WDK
DFC
• Windows NT
• Oracle 8• Sun Solaris
• Tomcat 3.2• Sun Solaris
WDK 4.2 Customisations
Web-S
erver Tier
JSP
DFC interface
WDK Web-server Layer
JSP
Java code
DFC layer
DMCL layer
Servlet
Java code
Thin C
lient Tier
E-content S
erver Tier
E-Content Server Database
JavaScript
JavaScript
WDK Browser Layer
XML config
XML config
Generated HTML
+DHTML
DMCL interface
… To WDK
Functional Scope Revisited
DTC WDK Custom attributes; validation rules
Implemented: Customised code using JavaScipt / DHTML
Lifecycles No change required Smartlists Implemented: Execution &
result display only Customised search WDK configuration ; some
limitations remain Configurable result display Implemented: customised
code Annotations Not implemented Scanning integration Implemented
Optimise for WAN operation
WDK client• Limit network traffic• Operations executed asynchronously• Server-side logic
LAN/WAN Performance comparison
40
200
280
35
150190
130
25
80
0
50
100
150
200
250
300
Login Scan & Import Complete Indexing
Tim
e in
sec
onds
DTC LAN DTC WAN WDK WAN
Lessons Learned (I)
• Project management� Plan for technology related showstoppers� Include users to soften paradigm shift
• Staffing� WDK training by itself is not sufficient� Required skillset
– Administrator: Documentum + J2EE app server– Web developer: Experience with JSP, DHTML,
Servlet, HTML and XML – Enterprise Java Developer: JSP, Servlet, EJB and
other J2EE Services
Lessons Learned (II)
• WDK 4.2 Technology Limitations� Modification of WDK components
needed to cover project requirements � JavaScript handles user events
– Difficult to test
� JSP is not extensible– Redundant JSP code
Lessons Learned (III)
• Infrastructure� Anticipate side-effects due to WDK
required infrastructure updates� WDK product cycle may require updates
during the project
• Deployment� Configuration management to
accommodate multiple WDK -based applications
WDK 5.0 Architecture
Web-S
erver Tier
Thin
Client Tier
JavaScript
WDK Browser Layer
Generated HTML
Controller
XML contract WDK Component
JSP
Java Server-side
event
Taglib file
Java tag implementation
WDK services :- application server (EJB), -data access (JDBC),- session pooling,etc.
E-content S
erver Tier
E-Content Server DBMS
DFC
Conclusion: Do ’s• Consider migrating from DTC to
WDK if performance / deployment is an issue
• Plan to use WDK5• Staff your project with DCTM / Web /
J2EE developers• Include key users to soften the
paradigm shift
Conclusion: Don’ts
• Stay clear of core WDK code� Avoid maintenance and update issues
• Avoid implemen ting business logic on the client-side
• Do not underestimate the human and technolog ical impact of the paradigm shift from Windows to Web
• Do not try to achieve 100%� Settle for 80/20
WDK 4.2 vs 5.0
WDK 4.2• Client-side
event handling (JavaScript)
• XML configuration ofproperties and advanced search only
• JSP use JavaBeans and mainly scriptlet
WDK 5.0• Server-side
eventhandling
• XML contracts for components, that are extensible
• JSP rely on taglibs
Web-S
erver Tier
Thin C
lient Tier
JavaScript
WDK Browser Layer
Generate
d HTM
L
Controller
XML contract WDK
Component
JSP(no
scriptlet)
Java Server-side event
Taglib file
Java tag implementation
WDK services:-application server (EJB), -data access (JDBC),- session pooling,etc.
E-content S
erver T
ier
E-Content Server DBMS
DFC & API
Web-S
erver Tier
JSP
DFC interface
WDK Web-server Layer
JSP
Java
code
DFC layer
DMCL layer
Servlet
Java code
Thin Client Tier
E-content S
erver Tier
E-Content ServerDatabase
JavaScript
JavaScript
WDK Browser Layer
XML
configXML
config
Generated
HTML+
DHTML
DMCL interface