This presentation was delivered at Lotusphere 2010. The abstract was as follows:
Mashup the Lotus Portfolio!
Are you looking for a lightweight way to integrate various Lotus products together at-the-glass? We’ve got the answer for you! In this demonstration, we will show how through widgets and mashup technologies you can quickly create a cohesive application that mashes together services and content from products such as WebSphere Portal, Lotus Connections, Lotus Quickr, Lotus Domino, IBM Mashup Center, Lotus Forms, and Lotus Sametime.
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Mashing up the Lotus Portfolio
1. ID608 Mashup The Lotus Portfolio!
Nicole C. Carrier | Program Director, IBM Mashup Center
Jason Roy Gary | Executive Architect, IBM Mashup Center
2. Agenda
● Re-mixing the W eb – The Mashup Phenomenon
● Introduction to iW idgets
● Demos – Mashing up the Lotus Portfolio – Bring it all Together
● Q&A
2
3. What is a Feed?
Many products today (IBM®Lotus® Domino®, IBM Lotus® Connections,
IBM Lotus Quickr™, IBM Cognos, IBM WebSphere Portal, IBM Mashup
Center, IBM WebSphere MQ, IBM WebSphere Business Process
Management, Google Docs, etc.) are exposing their functionality and
information as RESTful feeds (JSON, XML, Atom, RSS, HTML)
4. What is a Widget?
Widgets are often the visualization or user interface on top of a feed
6. Why Has The Consumer Web Adopted Widgets?
● W idgets are lightweight and easy to build with a variety of existing
technical skill sets
● W idgets allow end users to create new personalized experiences
(desktop, portals, blogs, applications) without coding
● W idgets support lightweight integration across products and services
▬ Without having to know anything about the disparate systems APIs
▬ Without having to write any system-specific code
▬ And without even having to know who owns the service or widget
● W idgets allow organizations to share or syndicate information or
applications in a very low cost manner to consumers, increasing brand
awareness and customer loyalty
These benefits apply to enterprises as well!
7. What is a Mashup?
A “mashup” is a lightweight web application created by combining information or
capabilities from more than one existing source to deliver new functions & insights.
Mashup
● Rapid creation (days not
months)
● Reuses existing capabilities, but
delivers new functions + insights
● Requires less technical skills –
widgets and feeds are the
building blocks for mashups
● Often mixes internal and external
sources
Web Enterprise Info Enterprise Apps
MQSeries
<WSDL>
Web
MQ Quickr
Web services
Connections
Commerce Legacy
Info Server IMS ERP
ECM CRM
Google Gadgets
JDBC DB
Portal Domino
9. How Enterprises Benefits From Mashups
By taking a “building block” approach to
Number of users per application
application development, organizations can
realize the following benefits: Strategic, long-
term apps
● Agility and flexibility to quickly assembly (created by IT.)
new apps to meet new requirements or
situations
● Rapid application delivery thru a virtuous Skills &
cycle of reuse Cost Gap
● Improved insights from assembling
disparate information into one view
● Better align IT and business through rapid Backlog of
prototyping tactical
● Self-service app development, helping to applications.
lower IT backlog
● Innovation through community contribution
● Save time and money by leveraging the
thousands of 3rd Party Services and # of applications
Widgets One benefit of mashups is to support the long tail of application
development – i.e., being able to cost-effectively create very
targeted, personalized applications
10. Agenda
● Re-mixing the web – the Mashup Phenomenon
● Introduction to iW idgets
● Demos – Mashing up the Lotus Portfolio
● Q&A
10
11. Introduction to iWidgets
● iWidget – common IBM widget specification
● The Widget container and client-side framework is developed in Lotus and embedded
across numerous products in every software brand in IBM
● Benefits of iWidgets and mashup-enabling the Lotus and IBM portfolio:
▬ Customers can customize IBM's mashup and widget-enabled products much
faster and without requiring coding!
▬ Tighter integration of IBM widget-enabled products –> helping customers to bring
all of their software investments together
● What does an iWidget look like? Simple Hello World Example:
<iw:iwidget id="helloWorld"
xmlns:iw=“http://www.ibm.com/xmlns/prod/iWidget”
supportedModes="view edit" mode="view" lang="en”>
<iw:content mode="view">
<![CDATA[
<div>Hello World</div>
]]>
</iw:content>
</iw:iwidget>
22. Widget Tooling Options
Wide variety of tools to match a wide variety of developer skill sets
IBM Mashup Center
Brow ser-based tools for
turning feeds into w idgets.
Granularity
Lotus Widget
Factory WebSphere sMash Domino Designer WebSphere
Codeless w idget Code-based scripting 8.5.1 Portlet Factory
creation using wizard- and visual brow ser- Code-based scripting and
based dialogs. based tooling. and drag & drop WebSphere
Eclipse-based Targeting Java or PHP controls within an Rational Application
Dashboard
environment. developers. Eclipse-based tool. Developer & Rational
Framework
Targeting Domino Wizard-based Software Architect
developers. creation of Java Eclipse-based widget tooling
w idgets that for Java/J2EE developers.
connect to
enterprise
systems.
IT
Knowledge Application Programming Skills Professional
Workers
26. Agenda
● Re-mixing the web – the Mashup Phenomenon
● Introduction to iW idgets
● Demos – Mashing up the Lotus Portfolio
● Q&A
26
27. Demos – Mashing Up the Lotus Portfolio
● Demo 1- Mashin' it up on-the-glass: leveraging widgets to develop an
application that contains services from multiple Lotus products
● Demo 2- Mashin' it up on the back-end: leveraging feeds and data
mashups to develop an application that contains information from
multiple Lotus products
27
28. Agenda
● Re-mixing the web – the Mashup Phenomenon
● Introduction to iW idgets
● Demos – Mashing up the Lotus Portfolio
● Q&A
28
30. IBM Mashup Center
An end to end mashup platform, supporting quick assembly of dynamic
applications - with the security and governance capabilities IT requires.
●Create new applications by reusing
existing data and services
●Unlock Enterprise, Web, Personal
and Departmental Information
●Develop widgets from enterprise
systems
●Discover and share mashups,
widgets, feeds, and services
● Transform information into new feeds
A widget is a small application or piece of dynamic content that can be easily placed into a web page Widgets are called different names by different vendors: gadgets, blocks, flakes Widgets can be written in any language or and can be simply HTML “ Mashable” widgets pass events, so that they can be wired together to create something new
Benefits- ease of integration, customization
Benefits- ease of integration, customization
No interface to write Anything that can generate html or XML can generate an IWidget. It just needs to be url addressable Widget definitions can be hosted anywhere The namespace indicates this is an iWidget Wrap your html content in a CDATA tag The specification defines a component programming model for the client in JavaScript Similar to the portlet programming model (JSR 168) Widget definition A widget is defined through a widget definition . This is usually a xml file, but doesn’t have to be, since it is accessed via a url, so anything that can generate markup can generate the widget definition. Describes the widget including initial markup, required resources and preferences (called attributes) Usually widgets will define a JavaScript class in a JavaScript file which is referenced by the widget definition. This class allows you to add onLoad handlers for initialization.
No interface to write Anything that can generate html or XML can generate an IWidget. It just needs to be url addressable Widget definitions can be hosted anywhere The namespace indicates this is an iWidget Wrap your html content in a CDATA tag The specification defines a component programming model for the client in JavaScript Similar to the portlet programming model (JSR 168) Widget definition A widget is defined through a widget definition . This is usually a xml file, but doesn’t have to be, since it is accessed via a url, so anything that can generate markup can generate the widget definition. Describes the widget including initial markup, required resources and preferences (called attributes) Usually widgets will define a JavaScript class in a JavaScript file which is referenced by the widget definition. This class allows you to add onLoad handlers for initialization.
By comparison, with 6.2.0.1, selected BPM products offered a mechanism to host individual widgets in Portal Server. This lacked support for spaces, space templates, palette with simple layout,etc.
Lotus Widget Factory contains a subset of the WebSphere Portlet Factory functionality. Lotus Widget Factory is targeted at developers creating and publishing widgets based on Excel, Database, Domino, REST, SQL and Web Service based datasources for use in situational applications. New widget support in RAD 7.5.4. Full iwidget support along with test environment and deployment and wizards
Main Point: IBM Mashup Center is an end to end mashup platform, supporting line of business assembly of simple, flexible, and dynamic web applications – with the management, security, and governance capabilities IT requires. Detail benefits: Empower knowledge workers and web developers to rapidly create new web applications, unleashing productivity and reducing IT backlog. Speed development and reduce costs through lightweight integration, reuse, and sharing. Quickly uncover new business insights by easily assembling information from multiple sources on the glass. Better align IT and business through rapid prototyping. Make SOA more business-relevant and visible , increasing reuse of services and widgets. Foster innovation , while applying the appropriate levels of IT control. But we've got a challenge - there is still a ton of information throughout the enterprise that is unavailable to Lotus Mashups or any other tool... how are we going to help IT get that information out and put into feeds that our LOB users can mashup? Details of Lotus Mashups and InfoSphere MashupHub: Assemble applications by reusing existing services Unlock Enterprise, Web, Personal and Departmental Information Create interactive widgets that encapsulate existing services Discover and share mashups, widgets, and feeds Transform and mix information into new feeds Explore different combinations to uncover new insights