Mobile (future) Rich Client Browser
Download
Report
Transcript Mobile (future) Rich Client Browser
2007 하반기 로터스
알토란
How to Build IBM Lotus Notes Components for Composite Applications
2007.11.8
정유신 과장
®
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 collaboration
tools 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 components
surface content from multiple systems
Composite Application Model - Definitions
Composite (application)
collection of components brought together for a business purpose
Component
contains UI, business logic and storage (e.g. NSF)
Component view
presentation service/view into component (e.g. Notes view)
System Diagram – Notes/Domino 8
Web client
Web browser
Rich client
Lotus Notes 8.0 Client
Lotus Expeditor Platform
Lotus Notes Components
Composite
Application Editor
Client
Server
Lotus Domino
High Level Programming Model for Composite Applications
Build/Deploy
Components
Assemble Application
Application Clients
No programming
Portlets, Builders, Lists
Assembly
Script-style
development
Domino Designer
Component Designer
Rich Client
Composite
Application Editor
Portal Application
Template Editor
Browser
Comprehensive Java
IDEs
Expeditor toolkit
Rational tools
Portlet Factory
Mobile (future)
High Level Programming Model for Composite Applications
Build/Deploy
Components
Assemble Application
Application Clients
No programming
Portlets, Builders, Lists
Assembly
Script-style
development
Domino Designer
Component Designer
Rich Client
Composite
Application Editor
Portal Application
Template Editor
Browser
Comprehensive Java
IDEs
Expeditor toolkit
Rational tools
Portlet Factory
Mobile (future)
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 interaction
loosely coupled through properties and actions
across database boundaries
mix-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 actions
unique wiring defined in specific composite application
causal relationship
1-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
Build/Deploy
Components
Assemble Application
Application Clients
No programming
Portlets, Builders, Lists
Assembly
Script-style
development
Domino Designer
Component Designer
Rich Client
Composite
Application Editor
Portal Application
Template Editor
Browser
Comprehensive Java
IDEs
Expeditor toolkit
Rational tools
Portlet Factory
Mobile (future)
Notes 8.0 high Level Client Programming Models
NSF
Component
Notes
Container
Notes
plugin
Actions/db
design
Expeditor
Platform
Eclipse
LCD
Component
Web or Portlet
Component
Component Web/JSR 168
Designer
Container
Container
xFaces
JavaScript
JSP/JSR
168
HTML/JS
Remote Portlet
Component
WSRP
Container
HTML/JS
Your
Container or
Component
Java APIs
Extensions
Composite Application
Infrastructure
Property Broker More Toolkit Functionality
SWT/Jface/Workbench
Plugins/Features
Preferences
Tools to build Components
Domino Designer
script oriented development
standard Notes database design plus inter component communication
Lotus Component Designer
script oriented development
creates native components for rich client and portal
Eclipse / Rational tools
comprehensive 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 change
OR
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
Web client
Web browser
Rich client
Lotus Notes 8.0 Client
Lotus Expeditor Platform
Lotus Notes Components
Composite
Application Editor
Client
Server
Lotus Domino
System Diagram – Adding In Portal
Web client
Rich client
Web browser
Lotus Notes 8.0 Client
Lotus Expeditor Platform
Lotus Notes Components
Composite
Application Editor
Client
Server
Application
Template Editor
WebSphere Portal
Lotus Domino
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://www128.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
감사합니다