ID412 Why Mashups Matter Nicole Carrier Product Manager Lotus Remix Mikael Örn Development Manager Lotus Remix
Agenda Mashups 101 The Mashup Development Process The Business Value of Mashups Challenges with Mashups Introduction to Lotus Remix Demo
Mashups 101 What are mashups and widgets? How do mashups relate to portals? Where are mashups in the adoption lifecycle?
What is a Mashup? A mashup is a lightweight web application that combines data from more than one source into an integrated and new, useful experience. Zillow.com igoogle Competitive Mashup What typically characterizes a mashup? Widgets and feeds that are mashed together often come from independent sources and do not change when mashed New applications deliver new insights and capabilities (1+1 = 4) Built on a web-oriented architecture (REST, HTTP) and leveraging lightweight, simple integration techniques (AJAX, RSS, JSON) The result is fast creation of rich, desktop-like web applications Simple applications that solve niche problems (i.e., satisfies the long tail)
There Are Different Types of Mashups The term mashup encompasses both data and presentation mashups. Presentation Presentation- focused Mashups Assemble + wire Example Scenario: View customer data, trouble tickets, stock quote, recent news in one integrated interface Logic Data Data Mashups Access + transform data sources Example Scenario: Take an excel spreadsheet of insurance policies and merge with feed from National Weather Service to generate a new feed
What is a Widget? A widget is a small program or piece of dynamic content that can be easily placed into a web site. Widgets are called different names by different vendors: gadgets, blocks, flakes. Widgets can be written in any language (Java,.NET, PHP, etc.) and can be as simple as an HTML fragment. Widgets can be non-visual. Widgets often encapsulate an API. Mashable widgets pass events, so that they can be wired together to create something new.
Widgets Can Be Easily Embedded into Web Pages HTML snippet for a YouTube video: Embedded into a simple blog: HTML snippet for a Google Gadget:
Example Mashup: IBM Trip Planner Select location. See list of IBM approved hotels for your selected location. Combines 10 unique data sources to create a new application! View weather See meal limit from data feed. Visual display of where the hotels, car rental agencies, ATMs, and the IBM office(s) are located.
Example Mashup: Customer Quick View Select a customer Views stock price. Bad news/results informs rep that he might be better off focusing elsewhere for the quarter. Dogears allow rep to keep track of news and blogs about the customer that he might have missed. View sales by date for selected customer. Critical situations good indicator for customer receptivity to spending. The more crit situations, the less likely the customer will buy more.
How Do Mashups Relate to Portals? Mashups are a type of application that can run in a portal framework. Many portal vendors support or plan to support the technologies needed to run mashups within a portal, such as: Client-side aggregation of content, in addition to the traditional server-side aggregation approach Support for Widgets and gadgets, in addition to portlets Support for Web 2.0. technologies like AJAX, REST, JSON, and RSS While mashups can be created and run in a portal framework, a portal is not a pre-requisite for creating a mashup. Developers can pull together mashups by writing Javascript code. There are also vendors that offer mashup servers/environments. Lightweight mashup environments and tools can be used alongside a Portal (NOTE- what is feasible depends upon what your vendor supports): Browser-based mashup tools support on-the-glass assembly and wiring, extending the creation of new applications to knowledge workers. Mashup environments also support rapid creation, deployment, and deletion of simple, tactical applications and prototypes without having to involve IT. Mashups deemed valuable for a larger audience could be pushed out to a portal for additional management and IT control (role-based security, rich personalization services, etc.). Some mashup tools support combining + transforming multiple data sources into new feeds, which can then be consumed by a portal framework.
Mashup Usage is Growing Rapidly Adoption Trend Mashup Growth Programmableweb.com statistics (December 2007) Mashup Mashups/Day: 3.19 Market Presence & Visibility Early Adopters Web 2.0 Mainstrea m Total Mashups Listed: Source: http://www.programmableweb.com/mashups > 2500 22% of organizations surveyed are using mashups now and 42% plan to use within two years (Economist Intelligence Unit 2 years Survey, January 2007) Time
The Mashup Development Process What is the process for creating a mashup? When should you consider leveraging the mashup style of development?
The Mashup Development Process Unlike traditional development processes, mashup development is typically more collaborative, organic, and dependent on reuse of existing components. Knowledge worker Analyze data, discover new insights Personalize by setting preferences (e.g., location) Use Reuse Create Programmer (Java, HTML.NET, PHP) Create widgets from existing systems and 3 rd party APIs Transform existing data into reusable feeds Speed Flexibility Insight Innovation Programmer Power user/analyst Web Developer Power user/analyst Remix and transform content into new applications Share new combinations by publishing back to catalog Assemble Share + Discover Share and discover widgets, mashups, and feeds Tag and catalog Rate + comment to indicate value and trustworthiness
When to Use Mashup Style of Development Number of users per application Strategic, Core Business (Long Lived) Governance and risk outweigh speed and flexibility. Construction is IT Lead, LOB influenced. Mashup style of development not appropriate here requires structure of formal development process. IT Custodial, but LOB Controlled Increases speed and flexibility while maintaining high level of governance. Construction is IT lead, LOB directed. Mashups can be applied here- especially for rapid prototyping of desired application. Tactical, Opportunistic Implementation speed and flexibility outweigh governance and application perfection. Construction is LOB assembly. Ideal for lightweight mashups. Often created to address a specific business problem. Often combines external and internal content. Number of applications
The Business Value of Mashups Why should businesses care about mashups?
Key Reasons for Businesses to Explore Mashups 1. Faster, cheaper delivery of applications Use Reuse Create 2. Support innovation and new business opportunities Speed Flexibility 3. Gain valuable insights Insight Innovation Assemble Share + Discover 4. Better align IT and business 5. Extend Reach and Value of SOA
Faster, Cheaper Delivery of Applications Save time and money through reuse and lightweight integration techniques Sharing and discovery of internal content and data a key enabler Increase productivity Lower skill sets needed to assemble new applications Leverage the palette of widgets and APIs from across the web Google Gadgets programmableweb.com New mashup IBM Catalog/Mashup Hub
Support Innovation and New Business Opportunities Unlocking valuable business data + supporting knowledge worker assembly opens up new business opportunities Support ad-hoc business requirements Widgetize data or services for use by customers + partners Target niche markets Expand ecosystem Number of users per application Long-term, strategic applications built by IT. Unmet Demand: Simple applications that solve day-to-day problems. IT Backlog: ROI typically not achievable with traditional IT structure. Number of applications
Gain Valuable Insights Gain valuable insights and solve business problems more effectively by remixing enterprise and web information. Enterprise Content CRM Application What is my competition doing in a specific customer segment? Finance Application Product data Assemble Web-based Content Stock Market data Discover Create Transform Competitor customer references Competitor product information
Better Align IT and Business Ease of rapid prototyping supports improved communication and requirements sharing, leading to more customer-focused applications. Self-service capabilities: Helps minimize shadow IT Do it yourself IT will be expected by millennial generation weened on facebook By providing mashable components, IT becomes more relevant to the business. Use Mashup technology to help close the gap between IT and business.
Extend Reach and Value of SOA Mashups can help to: Illuminate the value of SOA to business users by making it more visible Mashups are the last mile of SOA Simple to use Simple to access Drive the creation of well designed services Increase service reuse Make SOA simple to use
Mashup Challenges What are some of the key challenges with mashups? What are some tips for handling these challenges?
Key Mashup Challenges 1. No industry-wide agreement on a widget standard yet There are no standards around widgets yet and many vendors have created their own names: gadgets, blocks, flakes, etc. IBM has created a lightweight widget model which is well aligned with existing standards such as JSR168/286 and WSRP as well as other widget models such as Google and NetVibes You can use this model to develop and use widgets with IBM products IBM s goal is to define a standard for widgets. As part of this effort, IBM is leading a new widget specification workgroup in OpenAJAX. Leveraging the experience from the Google Gadget integration, our IBM widget model, and the JSR 168/286 + WSRP standards to create a well integrated OpenAJAX widget spec. Check out http://www.openajax.org
Key Mashup Challenges 2. Security Concerns around mashing internal data with external (non trusted API) Potential for malicious, malformed code (rogue widgets) Need to provide isolation between widgets Industry looking to establish standard cross-domain secure communication mechanism (OpenAjax Alliance Hub 1.1) How to easily handle security deployments for mashups? Authentication, credentials, authorization To learn more, read the OpenAjax Alliance Security Taskforce whitepaper: http://www.openajax.org/member/wiki/wp3_-_ajax_and_mashup_security 3. Creating mashable data Before mashing can be done, content must be exposed in a mashable format First step is making enterprise data (both structured and unstructured sources) available as feeds
Key Mashup Challenges 4. Cultural issues Skeptics of end user development Will IT allow mashups? Millennials coming into the workforce will demand this capability 5. Intellectual property and policy issues Challenge for companies providing widgets how to manage, monitor, monetize? How do you retain intellectual property? Challenge for companies consuming widgets how to ensure use of external data/ widgets does not infringe on the license of the data/widget provider? Set policies Utilize catalogs to post IT approved widgets and feeds. Document rules + procedures. Educate.
Introduction to Lotus Remix
Introducing Lotus Remix Lotus Remix provides the simplest and fastest way to assemble enterprise and Internet content into new web applications, unleashing productivity and supporting new insights. Use Create Reuse Speed Flexibility Insight Innovation Lotus Remix includes: A graphical, browser-based tool that supports easy, on-the-glass assembly of new applications by web-savvy business users. A Mashup catalog which supports sharing and discovery of mashup components, with built-in community features like ratings, tagging, commenting. Assemble Share + Discover A very lightweight Mashup Server, which can be hosted on a variety of platforms for added governance and IT control. Remix Content, Unleash Productivity A rich set of out-of-the-box, business-ready widgets. Product release dates and/or capabilities referenced in these materials 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.
Lotus Remix- Key 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. Go from install to the creation of simple web pages in minutes! Product release dates and/or capabilities referenced in these materials 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.
Lotus Remix Architecture Discover & Share Find, rate, tag, comment, share widgets, mashups, and feeds WebSphere Portal Websit e Notes 8 Assemble Mashups Discover Wire & mash Utilize recommendations & filtering Transform Create Widgets Mash visualizations w/ feeds Import HTML Use IDE (Portlet Factory, RAD) Generate Feeds Connect Transform and filter on server (Project Zero, Info 2.0.) Flexible Infrastructure (LWI*, WAS, SaaS**, Domino**, Portal**) Reliability Security Administration Governance * Limited features with LWI, such as no out-of-thebox self service security * Planned to be available 2H 2008 Spreadsheet s Web/HTML Internal and External Data Sources Domino DB Feeds JDBC DB Portlets MQ Series MQ Google Gadgets <WSDL> Web services Product release dates and/or capabilities referenced in these materials 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.
Demo
IBM Delivers a Full Suite of Mashup Capabilities *Lotus Remix-powered mashups and widgets will be able to run in the Lotus Notes client, WebSphere Portal, Lotus Connections, Lotus Quickr, Lotus Expeditor, or embedded into any HTML page. Remix, mash, and transform on the glass using the Lotus Remix browser-based tool. Use Assemble Speed Reuse Flexibility Insight Innovation Create Share + Discover Widgets can be built using: WebSphere Portlet Factory* Domino Designer* Rational Application Developer Eclipse Even Dreamweaver or Notepad! Feeds can be built with: Info 2.0 Project Zero Lotus Domino Lotus Remix (simple, widget-based creation of feeds for databases, spreadsheets, and Domino databases.) Discover, share, rate, publish, and tag feeds, widgets, and mashups using the Lotus Remix Catalog. * Planned to be available in 2008 Product release dates and/or capabilities referenced in these materials 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.
Creating Mashable Data with Info 2.0. From mashup hub, start by registering or creating a new feed: Create feeds from: SQL Databases Excel IMS XML SAP & PeopleSoft, etc. Tivoli Lotus Connections & Notes Simple form to provide a title, description, version and tagging then select the content to transform into a feed
Info 2.0 - Transform and Generate New Feeds Mashup Hub will include a Flow Editor and Engine for transforming and remixing feeds to create new feeds. Operations on Feeds Import Feed Filter Feed Merge Feeds Union Feeds Sort and Group Feeds Transform Feed Publish Feed
Legal Notifications IBM Corporation 2007. All Rights Reserved. The information contained in this publication is provided for informational purposes only. While efforts were made to verify the completeness and accuracy of the information contained in this publication, it is provided AS IS without warranty of any kind, express or implied. In addition, this information 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 publication or any other materials. Nothing contained in this publication 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. IBM, the IBM logo, Lotus, Lotus Notes, Notes, Domino, Quickr, Sametime, WebSphere, UC2, PartnerWorld and Lotusphere are trademarks of International Business Machines Corporation in the United States, other countries, or both. Unyte is a trademark of WebDialogs, Inc., 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. Other company, product, or service names may be trademarks or service marks of others.