lotusphere 2006 bp305 combine xsl and dxl for rich web applications

Post on 21-Jan-2015

733 Views

Category:

Economy & Finance

1 Downloads

Preview:

Click to see full reader

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