Upload
dominion
View
1.154
Download
1
Embed Size (px)
Citation preview
®
AD405 - Increase your IBM Lotus Notes Application ROI through Composite Applications with Lotus Notes and Domino 8
Craig Wolpert, Software Architect, Lotus ISV Technical Enablement
Jo Grant, Software Architect, Lotus ISV Technical Enablement
Legal Information
This information relates to IBM products that are not yet generally available, and therefore should be treated as confidential. This information is provided “as is” without warranty of any kind, express or implied, and is based on IBM’s current product plans and strategy, which are subject to change by IBM without notice. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, this document. Nothing contained in this document is intended to, nor shall have the effect of, creating any warranties or representations from IBM (or its suppliers or licensors), or altering the terms and conditions of the applicable license agreement governing the use of IBM software.
Agenda
Introduction
Improve your ROI
Classifying Components
Component Types
Composite Application
Summary
Evolving valuable capability delivered through disparate user experiences...
5
…into a context-specific dynamic workspace
6
What are Composite Applications?
Collection of user facing components brought together for a specific business purpose
front end of Service Oriented Architecture (SOA)
Programming model supported in Portal and Notessurface content from multiple systemsaggregate different component types
Support business flexibilitymix-n-match and loose couplinguser effectiveness
Composite Application Model - Definitions
Composite (application)collection of components brought together for a business purpose
Componentcontains UI, business logic and storage (e.g. NSF)
Component viewpresentation service/view into component (e.g. Notes view)
NSF NSF
Improve your ROI
Current Investment:traditional Notes development
Desired Return:benefits of composite applications
How to get there:build components from your Lotus Notes applicationsbuild composite applications from your components
Traditional Notes Development
Elements:Forms – display dataViews – display collections of dataFramesets – display groupings of elementsDatabase – collections of the above
Great but…application layout done at code construction timemodification requests from consumers are implemented by application ownernon-trivial to make different Notes database interactnon-trivial to build interaction with other non-Notes applications
Benefits of Composite Applications
Components are built by people with developer skills and knowledge
Applications can be assembled by people with Line of Business skills and knowledge
Trivial to relate components from different domainsany Notes database can be a source for componentsportlets and web pages can be usedEclipse components can easily front end many other applications
Result: focused applications with incorporated external contextno more flipping from application to applicationno more cutting and pasting
Leverage Composite Applications
How exactly do I leverage the composite application benefit frommy existing Notes application investment?
classifying componentschoosing Notes elements for componentsenabling loose coupling with properties and actions assembling composite application
Classifying Components
Domain Centriccomponent presentation: Wide Columnfocus: Center of Attention
Contextual Domaincomponent presentation: Narrow Columnfocus: Peripheral Vision
How a component relates to its domainWhat is a domain?
a domain is the primary information space for an applicationdifferent domains might have formal or informal ties between them, such as customer IDs.example: a sales application may deal with sales leadsexample: a service agreement application may deal with contracts
Domain Centric Componenta component used to build functionality for managing a domainprimary job is operating in that domainunlikely to be of interest to other domainsexample: a component to edit a sales lead record
Contextual Domain Componenta component that displays information from a domainoften limited to a targeted subsetoften tied to a linking elementexample: a component that lists the estimated value of all open sales leads for a company
Component Presentation
Component layout is much like frameset layout
Comes down to columns and rows
Wide column componentsrequire a reasonable amount of real estate to display
lots of data (table)lots of detail (chart)
example: Inbox View
Narrow column componentshas tight, focused dataexample: today’s To Do view
Focus
Center of attention componentsestablishes contextprimary work area on a pageexample: Mail Memo Composition
Peripheral componentsadds to contextcontributes information that helps a user operate or composeexample: List of recent contacts or business card
Choosing Notes elements for components
Why can’t I just use my existing Notes elements?
You can, but 1-to-1 is not necessarily appropriate for all of themtraditional Notes application design takes over the whole client space, components share the space with other componentsmost of your existing Notes elements weren’t built to be used in other domainsnavigation is decoupled from information presentation in componentsa collection of Notes elements can make more sense as a single component than as several componentsa single Notes element can contain an area that makes sense as several components
ToolsDomino Designer
So how do I best leverage what I have?
Suggested Component Types
In our own work, we have come up with five general components types:
Detailed Information componentEdit Mode componentSummary Information componentList componentConstrained List component
Take the following as a starting point!caveat: your mileage may vary
Detailed Information Component
Gives full details on one data element type from your data model
TypicallyDomain Centric componentWide Column componentCenter of Attention component
Based on your existing Notes form for the data element
Implementation:a frameset has a minimal frame with a form that listens for an actionwhen the action triggers the document is loaded into the main framevalues of the document are broadcast
Detailed Information Component – Discussion Detail
Action:
• OpenByUNID
Properties:
• Subject
• Category
• Author
• Date
Edit Mode Component
Presents data element type from your data model in edit mode
TypicallyDomain Centric componentWide Column componentCenter of Attention component
Based on your existing Notes form for the data element
May be the same as the Detailed Information Component
Implementationa frameset has a minimal frame with a form that listens for an actionwhen the action triggers the document is loaded into the main frame in edit modevalues of the document are broadcast as they are changedactions can be triggered to set the edit fields
Edit Mode Component – Discussion Edit
Actions:
• OpenByUNID
• SetSubject
• SetCategory
Properties:
• Subject
• Category
• Author
• SetDate
• AppendToBody
•Date
Summary Information Component
Gives targeted details on one data element type from your data model
TypicallyContextual Domain componentNarrow Column componentPeripheral component
Notes form which contains a subset of the data elementa subform if you have onelikely to have several of them when data element is complicated
Implementationa customized form listens for an actionwhen the action triggers the document is loaded and copies needed fields for displayvalues of the document are broadcast
Summary Info Component – Discussion Summary
Action:
• OpenByUNID
Properties:
• Subject
• Category
• Author
• Date
List Component
Lists collective information on data element type
TypicallyDomain Centric componentWide Column componentCenter of Attention component
Based on one or more existing Notes views
Implementation:a single view is used as-ismultiple views are co-located in a frame set. Navigation may be
internal: e.g. button bar, navigatorexternal: Action trigger
current selection and relevant properties are broadcasteither through column broadcastor through LotusScript onSelect hook
current selection may be set via action trigger
List Component – Discussion List
Action:
• SelectByUNID
• SelectByName
Properties:
• CurrentUNID
• CurrentName
Constrained List Component
List collective information on a subset of one data element type
TypicallyContextual Domain componentNarrow Column componentPeripheral component
Can be based on an existing categorized Notes view
Implementation:a form is created that embeds the viewembedded view marked to display a single categorywhen the action triggers it sets the categorycurrent selection is broadcast and consumed
Constrained List Component – DiscussionListByCategory
Action:
• SelectByUNID
• SelectByName
• ShowCategory
Properties:
• CurrentUNID
• CurrentName
• CurrentCategory
Composite Application
LayoutDomain Centric and Contextual Domain componentspagestabbed components
Navigation between pages
Loose couplingwires connect properties to actions
ToolsComposite Application Editor
List Component Scenario
Property Action
Action
Wire
Domain Centric
Contextual Domain
Navigation Wire
Detailed Information Component Scenario
Edit Mode Component Scenario
Making it all work together
Traditional Notes behavior is supportedviewing or editing elements occurs in a separate tabdialog boxes
Additional composite application behaviorseveral pages in the same window (tab)switch automatically or programmatically between pagespages can be hidden from navigator
Extending with Non Notes Components
Create componentsEclipseLotus ExpeditorWeb [via the embedded browser]
Notes platform includes other optionsLive NamesBusiness CardContextual Buddy ListFeed ReaderActivities
Notes out of the box Components
PIM (Personal Information Management) databases are NSF based composite applications
Notes MailNotes CalendarNotes Contacts
Component interaction and property broker supportproperties and actions defined in shipped templatesadd custom properties and actions via Domino Designer
Use as Notes components in your custom composite applications
Portal based Composite Applications add Value
NSF based Composite Applications are a proper subset of Portal Composite Applications
NSF does not support the life cycle and template model of portal
Role based: page is created based on user access rights – used to restrict pages and/or components from pages
Web based experience with a unified application model with client
ToolsPortal Application Template EditorIBM Lotus Components Designer XML document store is hosted on Portal
Get Started Now
Create Domain Contextual components
Integrate with Notes out of the box Components
Make your Notes application a composite application and begin adding components
See you in the Solution Developer's Sanctuary in Asia 4!
Summary
Evolution not revolutionoriginal Application still works exactly the samemodifications gracefully degrade in previous versions of Notesnew application can be used by focus groups without impacting majority usersDomain Contextual components can be used in other composite applications with no impact to core usersloose coupling for component interaction
Components can be used to build focused applicationsapplications can be assembled differently to reflect different rolesdifferent groups can reconfigure components without altering primary notes applicationapplication may be easily extended to include components from other domains
Integration and collaboration tools in the context of everyday applications
Related Sessions
JMP401 Introduction to Composite Applications for IBM Lotus Notes and Domino and IBM WebSphere Portal
AD406 Building Composite Applications for IBM Lotus Notes 8
AD407 How to build IBM Lotus Notes Components for Composite Applications
HND102 Building Composite Applications for IBM Lotus Notes 8
Solution Developer's Sanctuary in Asia 4
AD202 Developing with the IBM Lotus Expeditor Toolkit for IBM Lotus Expeditor and IBM Lotus Notes 8
BOF 102 Composite Application and SOA
BOF 212 IBM Lotus Notes and Domino Application Development
References
Blog http://www.ibm.com/developerworks/blogs/page/CompApps
Expeditor toolkithttp://publib.boulder.ibm.com/infocenter/ledoc/v6r1/index.jsp
Developerworks articlehttp://www-128.ibm.com/developerworks/websphere/library/techarticles/0608_stober/0608_stober.html
Redbook/redpiece on Expeditor Composite Applicationscoming out in early 2007, keep checking the web
Q & A
Let the experts walk you through several scenarios where traditional Lotus Notes applications are enhanced by promoting them to a Composite Application environment. We will explore howbest to develop reusable components, leverage existing solutions as components, and assemble these into Composite Applications for use with Lotus Notes 8. We will use components developed for Lotus Notes 8 and Lotus Expeditor as well as assemble Composite Applications using Lotus Notes 8 or WebSphere Portal. Benefit your organization with this powerful technology - learn best practices from this session to get a head start now and begin deploying REAL Composite Applications for use by Lotus Notes 8!
Abstract
© IBM Corporation 2007. All Rights Reserved.
The workshops, sessions and materials have been prepared by IBM or the session speakers and reflect their own views. They are provided for informational purposes only, and are neither intended to, nor shall have the effect of being, legal or other guidance or advice to any participant. While efforts were made to verify the completeness and accuracy of the information contained in this presentation, it is provided AS IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, this presentation or any other materials. Nothing contained in this presentation is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software.
References in this presentation to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in this presentation may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. Nothing contained in these materials is intended to, nor shall have the effect of, stating or implying that any activities undertaken by you will result in any specific sales, revenue growth or other results.
Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual throughput or performance that any user will experience will vary depending upon many factors, including considerations such as the amount of multiprogramming in the user's job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve results similar to those stated here.
All customer examples described are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual environmental costs and performance characteristics may vary by customer.
IBM, the IBM logo, Lotus, Lotus Notes, Notes, Domino, Domino.Doc, Domino Designer, Lotus Enterprise Integrator, Lotus Workflow, Lotusphere, QuickPlace, Sametime, WebSphere, Workplace, Workplace Forms, Workplace Managed Client, Workplace Web Content Management, AIX, AS/400, DB2, DB2 Universal Database, developerWorks, eServer, EasySync, i5/OS, IBM Virtual Innovation Center, iSeries, OS/400, Passport Advantage, PartnerWorld, Rational, Redbooks, Software as Services, System z, Tivoli, xSeries, z/OS and zSeries are trademarks of International Business Machines Corporation in the United States, other countries, or both.
Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.
Microsoft and Windows are trademarks of Microsoft Corporation in the United States, other countries, or both.
Intel and Pentium are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries.
UNIX is a registered trademark of The Open Group in the United States and other countries.
Linux is a registered trademark of Linus Torbvalds in the United States, other countries, or both.
Other company, product, or service names may be trademarks or service marks of others.
All references to Acme, Renovations and Zeta Bank refer to a fictitious company and are used for illustration purposes only.