lotusphere 2006 bp305 combine xsl and dxl for rich web applications
Post on 21-Jan-2015
733 Views
Preview:
DESCRIPTION
TRANSCRIPT
Combine XSL and DXL for Rich Web Applications
Mac GuideraIBM Software Services for Lotus
Agenda
The New Web
The Design Elements
Working in Concert
Demo – Rich Web Application
Resources
Summary
The New Web
Web 2.0 The Web as a Platform
Application Delivered as a Service
Architecture of Participation
People Collaborating
The New Web
Web 2.0 Examples Blogs
frequently updated and intended for general public consumption and participation
Google Maps Interactive street map and satellite images for the whole world
through web site or API
Flikr Free site to share personal photographs, the service allows
photos to be tagged and browsed by collaborative but unsophisticated means
Wikipedia Free, online encyclopedia that anyone can edit
The New Web
Service Oriented Architecture Software architectural concept that defines the use of
services to support the requirements of software users
Loosely coupled, highly interoperable application services Departs from binding data and processing together
Interoperate based on a formal definition Web Services WDSL
Independent of development technology
On Demand processing
The New Web
Where Domino fits Strongest collaborative system
20 years in market Email Application development
Incorporates industry-proven open components XML Java JavaScript Web Services
Data separation of data from presentation Documents Forms Views
Agenda
The New Web
The Design Elements XML DXL XSL Ajax
Working in Concert
Demo – Rich Web Application
Resources
Summary
The Design Elements
XML Stands for eXtensible Markup Language
Markup language much like HTML
Designed to describe data
Uses a Document Type Definition (DTD) or an XML Schema to describe the data
With a DTD or XML Schema is designed to be self-descriptive
A W3C Recommendation
The Design Elements
XML XML was not designed to DO anything
XML tags are NOT predefined, you must "invent" your own tags
XML is not a replacement for HTML
XML is a cross-platform, software and hardware independent tool for transmitting information
XML is everywhere and ready for use
The Design Elements
XML Elements Building blocks of XML documents
Strict syntax
< name attribute1 attribute2 >
content
</ name >
The Design Elements
XML Example
<?xml version="1.0" encoding="ISO-8859-1"?>
<reminder type=“gentle”>
<to>Mac Guidera</to>
<from>Lotusphere Staff</from>
<heading>note</heading>
<body>See you in Orlando, January 22-26th</body>
</reminder>
Agenda
The New Web
The Design Elements XML DXL XSL Ajax
Working in Concert
Demo – Rich Web Application
Resources
Summary
The Design Elements
DXL Domino XML Language
Domino data expressed in XML DXL is XML
A universal format for all Domino data within an NSF
Lotus DevCon 2001
Lotus DevCon 2001
Lotus DevCon 2001
Lotus DevCon 2001
Lotus DevCon 2001
Lotus DevCon 2001
Lotus DevCon 2001
Lotus DevCon 2001
The Design Elements
DXL - A Brief History 1999
Iris begins working on DXL Document Type Definition (DTD) and the Exporter
Lotus Toolkit team members begin working on Importer 2000
DXL/XML team at Iris is expanded In Release 5.0.2, ?ReadViewEntries URL syntax documented
and supported Lotus XML Toolkit is released for Notes/Domino 5
2002 Notes/Domino 6 ships with DXL and XML support
2005 Lotus adds XML Schema Definition and continues to add DXL
functionality into Notes/Domino 7
The Design Elements
The Design Elements
DXL – Using XML in Domino Applications ?ReadViewEntries
Returns a view’s contents as XML via the web
NotesDXLExporter / DxlExporter Converts Domino data to DXL data
NotesDXLImporter / DxlImporter Converts DXL data to Domino data
NotesXSLTransformer / XSLTResultTarget Represents the transformation of DXL (Domino XML) data
through XSLT
The Design Elements
DXL Example<?xml version='1.0' encoding='utf-8'?><!DOCTYPE form SYSTEM 'C:\Program Files\IBM\Lotus\notes\xmlschemas/domino_7_0.dtd'><form name='Contact' alias='Company|Person' xmlns='http://www.lotus.com/dxl' version='7.0' replicaid='88256D950006A0C8' nocompose='true' publicaccess='false' designerversion='7' language='en' default='true' bgcolor='#f7f7f7' editonopen='true' conflictaction='mergeconflicts'>
<noteinfo noteid='13e' unid='41DF9E09D1334A018525621100042F95' sequence='5566'>
<created><datetime dst='true'>19950806T204543,25-04</datetime>
</created><modified>
<datetime>20051220T151200,49-05</datetime></modified> …
Agenda
The New Web
The Design Elements XML DXL XSL Ajax
Working in Concert
Demo – Rich Web Application
Resources
Summary
The Design Elements
XSL Stands for eXtensible Stylesheet Language
Is valid XML
Describes how the XML document should be displayed
Consists of two parts XSLT is a language for transforming XML documents into
XHTML documents or to other XML documents XPath is a language for navigating in XML documents
The Design Elements
XSLT Stands for XSL Transformations
The most important part of XSL
Transforms an XML document into another XML document
Uses XPath to navigate in XML documents
A W3C Recommendation
The Design Elements
XPath Syntax for defining parts of an XML document
Uses path expressions to navigate in XML documents
Contains a library of standard functions
Major element in XSLT
A W3C Standard
The Design Elements
Client-Side XSLT in a Browser Easy to implement
Uses client resources
Processing ability built in IE 6.0 Firefox 1.0.2 Mozilla 1.7.8 Netscape 8 Safari 1.3 Opera 8
The Design Elements
XSL Transformation Processing
XML
XSL
XSLT
Processor
XML or
XHTML
The Design Elements
XSL Transformation Processing
The Design Elements
XSL Transform<xsl:template match='dxl:lotusscript'> <H3>
<xsl:choose><xsl:when test='../@section'>
<xsl:value-of select='../@section'/></xsl:when><xsl:otherwise>
<xsl:value-of select='../@event'/></xsl:otherwise>
</xsl:choose> </H3> <p>
<PRE CLASS='Event'> <xsl:value-of select='.'/> </PRE></p>
</xsl:template>
The Design Elements
Domino DTD and XSD C:\notes\xmlschemas
Agenda
The New Web
The Design Elements XML DXL XSL Ajax
Working in Concert
Demo – Rich Web Application
Resources
Summary
The Design Elements
Ajax Stands for Asynchronous JavaScript and XML
Term that refers to the use of a group of technologies together
Combination of HTML, CSS, DOM, JavaScript
Relies on XMLHttpRequest object to exchange data asynchronously with a web server
The Design Elements
Why use Ajax Web as a Platform
Full-blown applications demand richer styles of interaction
User Frustration The standard "click-and-wait" form-based model no longer
suffices
Web 2.0 Zeal Creating opportunities for new breeds of applications, as well
as fodder for improving existing systems. Ajax is the "web" in Web 2.0
Multiple Access Points Hosting the data online is a more straightforward solution and
accessing it from a rich web application is a natural fit
The Design Elements
Why use Ajax Web is the Platform
Everyone has web access
Better Infrastructure Broadband in homes and prolific server environments
Productive Development Easy and open development, no proprietary code
Browser Improvements Improvements in areas such as XML-processing and
debugging support, as well as adherence to standards, have eased the pain for the Ajax development style
The Design Elements
Ajax Application Model
Browser ClientBrowser Client
User Interface
Domino
Server Side
NSF
HTTP
RequestHTML
Ajax Engine
Domino
Server Side
NSF
HTTP
RequestXML
Browser Client
User Interface
JavaScript HTML
NewClassic
The Design Elements
DHTML
Agenda
The New Web
The Design Elements XML DXL XSL Ajax
Working in Concert
Demo – Rich Web Application
Resources
Summary
Working in Concert
Resume Building Buzz Words Ajax
DXL
XML
JavaScript
XMLHttpRequest
XSL
SOA
Web Services
Collaborative Systems
DTD
XSD
DOM
CSS
XHTML
XSLT
Web 2.0
Working in Concert
System Architecture
NSF
Domino Ajax Engine
Request XSLT
XSL
XHTML
Server Client
Working in Concert
Happy User
CSS
XSLT
Java Script
XML
Domino HTML
DXLServer
Agenda
The New Web
The Design Elements XML DXL XSL Ajax
Working in Concert
Demo – Rich Web Application
Resources
Summary
Demo – Rich Client Application
Application Use Existing Domino System
Create DXL Request Service
Create Ajax Processor
Interactive Web Client
Agenda
The New Web
The Design Elements XML DXL XSL Ajax
Working in Concert
Demo – Rich Web Application
Resources
Summary
Resources
Ajax Toolbox http://www.ajaxtoolbox.com
Resources
Ajax Toolbox – request code
function getResponse(target,groupName) { AjaxRequest.get( {
'url':'sleep.pl',
'onSuccess':function(req){ target.value=req.responseText;},
'groupName':groupName,
'onGroupBegin':AjaxRequestGroupBegin,
'onGroupEnd':AjaxRequestGroupEnd,
‘onError’:function(req){ alert(‘Bummer’) ;}
} ); }
Resources
W3 Schools http://www.w3schools.com
Resources
Sarissa http://sourceforge.net/projects/sarissa
Resources
Google AJAXSLT http://goog-ajaxslt.sourceforge.net/
Resources
Ajax Patterns http://ajaxpatterns.org/
Resources
Rico http://www.openrico.org
Resources
script.aculo.us http://script.aculo.us/
Resources
Ajax in Action ISBN: 1932394613
Resources
Learning XSLT ISBN: 0596003277
Resources
XPath and XPointer ISBN: 0596002912
Resources
XML Powered by Domino ISBN: 073842109X
Summary
Domino heavily embraces XML
XSL is XML for display
Ajax Gives Applications New Life
The Web is Shifting Towards Collaboration
Domino is Well Suited for the Next Generation
SOA Allows for Existing Application Integration
Summary
Contact Me http://www.macguidera.netmac.guidera@macguidera.net
Please turn in session evaluations
PDF and Code available on my site
top related