® how to build ibm lotus notes components for composite applications 2007.11.8 정유신 과장...
TRANSCRIPT
®
How to Build IBM Lotus Notes Components for Composite Applications
2007.11.8
정유신 과장
2007 하반기 로터스 알토란
Agenda
Introduction
Programming model
Application assembly
Component development
Advanced functionality
Summary
Evolving valuable capability delivered through disparate user experiences...
3
…into a context-specific dynamic workspace
4
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 Notes surface content from multiple systems aggregate different component types
Support business flexibility mix-n-match and loose coupling user effectiveness
Benefits of Composite Applications
Improve user efficiency through contextual collaborationtools for integration and collaboration in the context of everyday
applications remove silos of information
Exploit IT investments and strategy by heterogenous technologies
Notes applications/databases Lotus Component Designer components portlets and WSRP Eclipse components (e.g. embedded browser) other component types , including desktop applications
On demand business applications via Service Oriented Architecture
loosely coupled componentssurface content from multiple systems
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)
System Diagram – Notes/Domino 8
Lotus Expeditor Platform
Lotus Notes Components
Lotus Domino
Composite Application
Editor
Web client Rich client
Client
Server
Web browser
Lotus Notes 8.0 Client
High Level Programming Model for Composite Applications
Comprehensive Java IDEs
Expeditor toolkitRational toolsPortlet Factory
No programmingPortlets, Builders,
Lists
Script-style development
Domino DesignerComponent Designer
Build/Deploy Components
Assemble Application
Application Clients
Assembly
Composite Application Editor
Portal Application Template Editor
Mobile (future)
Rich Client
Browser
High Level Programming Model for Composite Applications
Comprehensive Java IDEs
Expeditor toolkitRational toolsPortlet Factory
No programmingPortlets, Builders,
Lists
Script-style development
Domino DesignerComponent Designer
Build/Deploy Components
Assemble Application
Application Clients
Assembly
Composite Application Editor
Portal Application Template Editor
Mobile (future)
Rich Client
Browser
Notes Composite Application Editor
Install option for Notes client client side projection of current Portal feature
Edits composite application definition portal based applications and application templates while on-line NSF based composite applications while on-line or off-line
Add or edit composite applications pages component runtime properties wiring
Property Broker Programming Model
Component interactionloosely coupled through properties and actionsacross database boundariesmix-and-match component technologies
Property is a typed exchangeable data item component produces
Action is the logic to consume a property
Components define their properties and actions
Wire connects properties to actionsunique wiring defined in specific composite applicationcausal relationship1-to-1 or 1-to-many wiring options
NSF based Composite Application Definitions
Composite application definitions stored in NSFs supports Lotus Notes rich client only; for web and rich client use
WebSphere Portal composite applications can be modified via Composite Application Editor
Pages and property broker wires pages can contain multiple component views properties and actions defined per component wires defined on composite application level
Supported component types Lotus Notes components Eclipse components (including embedded web browser)
High Level Programming Model for Composite Applications
Comprehensive Java IDEs
Expeditor toolkitRational toolsPortlet Factory
No programmingPortlets, Builders,
Lists
Script-style development
Domino DesignerComponent Designer
Build/Deploy Components
Application Clients
Assembly
Composite Application Editor
Portal Application Template Editor
Rich Client
Browser
Mobile (future)
Assemble Application
Notes 8.0 high Level Client Programming Models
Eclipse Plugins/Features SWT/Jface/Workbench Preferences
Property Broker Composite Application
Infrastructure More Toolkit Functionality
NotesContainer
Notes plugin Actions/db
design
NSF Component
ExpeditorPlatform
ComponentDesignerContainerxFaces
JavaScript
Web/JSR 168Container
JSP/JSR 168HTML/JS
WSRPContainer
HTML/JS
Your Container orComponent Java APIsExtensions
LCD Component
Web or Portlet
Component
Remote Portlet
Component
Tools to build Components
Domino Designerscript oriented developmentstandard Notes database design plus inter component
communication
Lotus Component Designerscript oriented developmentcreates native components for rich client and portal
Eclipse / Rational toolscomprehensive Java, Eclipse and SWT capabilities
Extensions to Notes Programming Model
Properties and actions defined for entire NSF in WSDL new design element stores WSDL WSDL creation and modification functions provided
Publish properties in multiple ways map view column to declaratively publish view column value when view
selections changeOR
use LotusScript APIs to publish properties from other design elements
Implement actions use LotusScript APIs for Notes actions to consume input properties
Notes out of the box Components
PIM (Personal Information Management) databases are NSF based composite applications Notes Mail Notes Calendar Notes Contacts
Component interaction and property broker support properties and actions defined in shipped templates add custom properties and actions via Domino Designer
Use as Notes components in your custom composite applications
Extensions to Eclipse Programming Model
Properties and actions defined in WSDL stored in plugin and registered via extension point WSDL creation and modification functions provided
Publish properties use Java APIs to publish properties
Implement actions use Java APIs to retrieve input properties three types of actions
1) core Action - org.eclipse.core.commands.AbstractHandler
2) SWT Action - org.eclipse.jface.action.Action
3) AWT Action - java.awt.Component
System Diagram – Notes/Domino 8
Lotus Expeditor Platform
Lotus Notes Components
Lotus Domino
Composite Application
Editor
Web client Rich client
Client
Server
Web browser
Lotus Notes 8.0 Client
System Diagram – Adding In Portal
Lotus Expeditor Platform
Lotus Notes Components
Web browser
WebSphere Portal Lotus Domino
Application Template Editor
Composite Application
Editor
Web client Rich client
Client
Server
Lotus Notes 8.0 Client
Portal based Composite Applications add Value
Web based experience with a unified application model with client
Template and Instantiation
Custom application level roles (role names specific to app domain)
Component domain level roles with role mapping
Instantiation time template parameters
Application instance level archive/restore (Portal 6.0.1)
Policy based instance management (Portal 6.0.1)
Summary
Evolution not revolution existing or new Notes applications reusable as components Notes client benefits from models used today on Portal
Support business flexibility and strategy mix-n-match component technologies support of Portal and NSF infrastructures loose coupling for component interaction
User effectiveness surface content from multiple systems single context to user for multiple systems = front end to SOA
Integration and collaboration tools in the context of everyday applications
References
Blog http://www.ibm.com/developerworks/blogs/page/CompApps
Expeditor toolkit http://publib.boulder.ibm.com/infocenter/ledoc/v6r1/index.jsp
Developerworks article http
://www-128.ibm.com/developerworks/websphere/library/techarticles/0608_stober/0608_stober.html
Redbook/redpiece on Expeditor Composite Applications coming out in early 2007, keep checking the web
Demo
Q & A
감사합니다