SlideShare a Scribd company logo
 
ID506: Web 2.0, AJAX, and REST in IBM WebSphere Portal Thomas Schaeck, STSM Lead Architect Quickr and WebSphere Portal Web 2.0  Stephan Hesmer WebSphere Portal Web 2.0 Architect and Lead Developer
What is Web 2.0, AJAX and REST ?
What is Web 2.0 ? A term coined by Tim O‘Reilly  (see   http:// www.oreillynet.com/pub/a/oreilly/tim/news/2005/09/30/what-is-web-20.html  ) Increasingly used for next generation  World Wide Web Applications and Services Web 2.0 has many aspects: Business Models  that survived and have promise for the future Approaches  such as services instead of products, the Web as a platform, ... Concepts  such as folksonomies, syndication, participation, reputation, .... Technologies  such as AJAX, REST, Tags, Microformats, ... And many others ...
How do Web 2.0 Sites differ from „Web 1.0“ Sites ? Strict „Web 1.0“ site „ Web Master“ runs web site, users consume Few content editors Web site provides content and applications for users View-only markup Only human users Accumulates relatively small amounts of information and content Fixed categories / Taxonomy Unidirectional Modern „Web 2.0“ site Users collectively contribute to the web site, they don‘t just consume Every user is a content editor and rater Web site provides content, applications, and collective contributions of all users  Semantically tagged markup  Humans and applications as „users“ Accumulates huge amounts of information and content FlexibleTagging / Folksonomy Bi-directional Web Site Web Site Data Data App App App App
Observations Web 2.0 consists of social and technical aspects The social aspects of Web 2.0 are much more fundamental than the technologies Web 2.0 Sites can derive huge value from their user community if they achieve critical mass   Some Web 2.0 companies have achieved extremely high market captialization (Google ($109,66 bn) bought YouTube for $1,65 bn) The Web 2.0 Site itself often only provides the infrastructure and guidelines for user participation The community then adds value to the site, e.g. by writing articles, posting videos, sharing bookmarks, etc Typically, these Web 2.0 sites have APIs for use by developers of mashup applications acting as multipliers Web 2.0 user interfaces typically apply the AJAX technology in order to achieve more responsive UIs
What is AJAX ? AJAX is the acronym for  A synchronous  J avaScript  a nd  X ML The purpose is to create more dynamic and responsive web pages It is also about building web clients in a Service Oriented Architecture that can connect to any kind of server: J2EE, PHP, ASP.Net, Ruby on Rails, etc. AJAX involves existing technology & standards: JavaScript and XML Pattern: Page view displayed in a web browser retrieves data or markup fragments from a service and refreshes just a part of the page AJAX is non-trivial, it requires deep and broad skills in web development ... ... but the benefits to be gained can be huge compared to classic web applications AJAX enables major improvements in responsiveness and performance of web applications, e.g. used at Yahoo! Mail, Google Maps, live.com, and others AJAX is  NOT  hype – it is very real and very useful for highly interactive applications
AJAX compared to classic Web UIs Browser Server Browser Server service In the typical web application, each request causes a  complete refresh of the browser page An Ajax application begins the same way.  After the initial page loads, Javascript code retrieves additional data in the background and  updates only specific sections of the page Ajax forces you to think about discrete services.  It may drive requirements for new services from your IT department
What is REST ? REST is the acronym for „ Re presentational  S tate  T ransfer“ It is the architectural model on which the World Wide Web is based Principles of REST Resource centric approach All relevant resources are addressable via URIs Uniform access via HTTP – GET, POST, PUT, DELETE Content type negotiation allows retrieving alternative representations from same URI REST style services are easy to access from code running in web browsers, any other client or servers   very popular in the context of AJAX can take full advantage of the WWW caching infrastructure can serve multiple representations of the same resource More info: http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm
Web 2.0 Concepts that are interesting for enterprise use Self-establishing  Communities   collaborating around topics of common business interest Support  User Contribution , treat users as co-authors and leverages their skills better Accumulation of user knowledge  to make apps smarter the more people use them Enable users to add value  by adding meta data, e.g. rate, tag, bookmark, comment  Allow users to   Take Control  and let them make applications most useful to them Separate User Interface from Services   to make services re-usable Fine grained  access to data  supporting mashups Mashups   combining existing services into new, useful applications joining information Situational Development  of applications through line of business can help make businesses more agile AJAX   to enable rich, interactive, highly responsive Web UI Use of  Semantic Tags and Microformats  to enable dynamic augmentation with contextual menus or information
Web 2.0 in WebSphere Portal
IBM WebSphere Portal is the User Interface to SOA MS Office & Windows Other Clients Web Browser Rich Clients Mobile Client Presentation Services eForms Xforms Other Clients
WebSphere Portal 6 Overview Instant messaging Team Rooms Electronic Forms  Workflow Builder WebSphere Portal Extend Web Content Management  Portal Document Manager Workflow Engine WebSphere Portal Enable Presentation Customization Application aggregation Java Portlet API Use of 100’s of portlets WSRP support Admin Single sign on Search Personalization Portlet Generation Tool (Portlet Factory) Composite Applications Cluster Support Application Server Database LDAP Directory Server WebSphere Portal Server
WebSphere Portal – An Example w3 portal for all IBM employees > 300,000 users Portlets provide essential information Highly personalized - displays the right info to the right users at the right time End-user customizable - users can create custom pages Has become a key tool for every IBMer Major productivity gain Targeted info delivery to users Users can easily find the apps they need
Portals are the way to provide  governed  business mashups combining public information, enterprise apps and data Openness Critical enabler: Standards  based access to integration and innovation Thin Clients Mobile Clients Rich Clients Security-Rich Composite application or view,  that assembles and delivers  services  in the form of  portlets   in the context of a business process role-based composite applications in context process- driven
Web 2.0 / AJAX / REST in WP and related Products - Today WP 6 allows  User Contribution  to portal sites through both WCM and PDM WP 6 enables  Situational Development  through Composite Application Templates and through Lotus Designer / Portlet Factory / Forms Designer WP 6 allows users  Taking Control  of their pages and choose content (if allowed by admin) Custom AJAX Portlets  can be written today to run on WebSphere Portal, e.g. using the Dojo framework and widgets or the AJAX support in RAD WP 6.0  exploits AJAX  for context menus, search menu, and some admin portlets WebSphere Portlet Factory can  generate AJAX Portlets  with incremental update and autocomplete IBM is strongly  engaged in Dojo  (see  http://dojotoolkit.org/  ) as major contributor
Disclaimer The following includes material that is directional in nature and does not imply any product plan commitment on the part of IBM.  Screenshots in this presentation are from prototypes and likely to change significantly by the time products are released Eyebrow /breadcrumb (text below business unit or product name): 14pt Arial Regular, light gray R128 | G128 | B128 Text slide with single quote or statement Singe quote on page:  28pt Arial Italic, teal R204 | G 255 | B153 Reference: 20pt Arial, Regular black
New Web 2.0 Work under development for WebSphere Portal REST Services   to open up portal for mashup applications – services for server persistence, portlet settings and user profile access to simplify Web 2.0 application development AJAX Portlet Programming Model Extensions   based on Dojo+IBM Extensions Client Side Aggregation and Customization  using  REST Services  for better UX and improved performance AJAX Client Side Feed Consumption  to enable highly efficient integration of information through feeds (Atom and RSS) Semantic Tags   to allow smart markup to enable value add by portal, e.g. dynamic menus Client Side C2A/Property Broker and Drag & Drop   based on  Semantic Tag s integrated with server side property broker and C2A support to enable cross-portlet interaction locally in the browser as well as with server side code Sample AJAX Portlets  with source showcasing the new capabilities to demonstrate and give samples to customers for how to exploit all the above Integration, Aggregation and Customization of  Google Gadgets
REST style Web Services exposing Portal to Mashups Goals: Separate portal user experience from portal data Expose relevant data separately for use by other apps (   Mashups) Public REST style Web services for Access to  Navigation Node Hierarchy Access to  Page Definitions Access to  User Profiles Access to generic  Content Persistence Access to   markup fragments of individual portlets Mashups can use these services to implement custom applications leveraging portal infrastructure services WebSphere Portal’s Web 2.0 Client Side Aggregation uses these services as well
Emerging WPLC Services&Feeds and Application Examples WebSphere Portal Portal Services User Service Persistence Service Contacts Service Domino Mail Services Calendar Services Sametime Portlet Service Awareness Service Conference Service IM Service Quickr Documents Services Team Space Services Custom Situational Application: Problem tracking application allowing to see author presence  and location in map and contact via IM Custom Situational Application: Simple AJAX Mail / Cal summary  views with awareness Product: WebSphere Portal Client Side Aggregation Search Service Geneva  Portlets, Notes Plugin, Sametime Plugin, Desktop Integration Product: Common PIM Portlets for Mail and Calendar Access Connections Persona, Community Services Activity, Blog Services Internet Services Maps …
Web 2.0 Fragment Model Simple and extensible  Web 2.0 fragment programming model Agnostic of how fragments are generated , may be generated by portlets on WebSphere Portal generated by PHP code on Web.0 or PHP servers generated by .NET servers Can  start simple , with option to  grow more sophisticated Basic fragments – HTML only Slightly more advanced – add use of Semantic Tags More advanced – add use of Dojo and custom JavaScript Fragments can use  public JavaScript interfaces to conveniently invoke WebSphere Portal’s REST-style Web services
Web 2.0 Fragment Programming Model Web 2.0 Fragment Semantic Tags Dojo Widget Markup JavaScript Functions REST Calls to Portal Services User Profile Access Settings Access Persistence Service Access REST Calls to other Services,    e.g. other WPLC services Weather Info, News, Sports, … CRM, HR, … Services etc
Application Architecture Pattern Browser Cache Browser Cache Proxy Cache Produced Services REST Service REST Service REST Service Data Store(s) DS 1 Consumed Services Public APIs (Local) ... Application Logic Service 2 Service 1 Service n ... DS 2 DS n ... AJAX Views AJAX Views AJAX Fragments (e.g. Portlets) AJAX Views AJAX Views Expeditor Plugins Web Browser AJAX Views Expeditor Expeditor Plugins Local App Code (if co-located) Application User Interface Application Services Project to Expeditor Project to Browser REST SyncML REST
Web 2.0 Client Side Aggregation Browser-side Aggregation, Navigation and Customization Superior user experience Highly reactive and direct user interface Many actions possible without server roundtrips Avoids page flickering Accesses and manipulates portal information through REST services Renders XML obtained from the server on the browser side Implemented using AJAX, XML, Dojo, and JavaScript Improved performance and scalability  through Reduced server side processing - offloads rendering to browser Reduced bandwidth requirements between server and browser Reduced client-side processing – mostly fragment reloads, few page reloads Improved cachability, all artifacts can be cached independently
AJAX based Client Side Aggregation in the Web Browser Services created with Google Gadgets Atom / RSS Feeds REST-accessible Markup Fragments from WP Portlets  or any other URL WSRP Services
Client Side Aggregation in Web Browser Portal  Pages Portlet  Settings Portal Navigation Tree based on Access Control and Personalization Navigation  REST Service (Atom) Page REST Service  Portlet Settings REST Service  Portlet Access  REST Service Theme Client Side Aggregation Enabled Theme User Profiles User Profiles REST /Web Service  Portlets
Semantic Tags, Context Menus and Drag&Drop Conference Participants ... IBM ST   Thomas Schaeck ST 5 Technology Park Dr 555-5555 ST Westford, MA ST   Group ST   Locations ST‘ Click to dial Extensible set of tag types such as person, address, phone number, document, ... is used to mark content elements with types (semantic tagging) Behaviours like e.g. context menus, annotations, highlighting, drag & drop, etc can be applied to everything that is semantically tagged D&D D&D
Semantic Tags (Portal-Independent Technology)
AJAX based RSS/Atom Feed Consumption  Allow simple consumption and display of  Feeds in portal pages Atom   feeds RSS  feeds Implemented using AJAX, Dojo and JavaScript Gets settings defining the feed to display from portal Retrieves feeds from origin servers via AJAX proxy Renders feeds in the browser  rather than causing server load
AJAX RSS/Atom Feed Consumption directly from Origin
Google Gadget Integration Enable customers to easily integrate Google Gadgets into portal pages  From an end user perspective, Google Gadgets integrated in WebSphere Portal behave just like local portlets: viewable and customizable like any local portlet If allowed by admin, users can drag Generic Gadget Portlets on their pages and select Gadgets to display from the Gadget Catalog Gadget Portlet initially lets user select the Gadget to display from the Gadget Catalog Gadget Portlet then displays the selected Gadget User can view and customize the selected gadget like any local portlet Administrators can pre-define Gadget Portlets for the portlet palette Generic Gadget Portlet is pre-configured by the admin to connect it to a certain gadget, e.g. an admin could create a “Map Portlet” by creating a Gadget Portlet and connecting it to the Google Maps Gadget Users can then select such pre-configured Gadget Portlets from the palette and drag them onto their pages like any local portlet
Google Gadget Integration – A Gadget integrated in WebSphere Portal as a portlet
Google Gadget Integration – Selecting a Gadget to integrate into WebSphere Portal as a portlet
IBM Portlet for Google Gadgets Architecture IBM Portlet for Google Gadgets Google  Gadget Google RSS Feed  listing  available gadgets View  Mode Customize Mode Configuration Mode Customize Mode View  Mode
AJAX Portlets using Dojo
Web 2.0 Portal Architecture WebSphere Portal Foundation AJAX Feed Consumer Connections  (Activities,  Blue Pages, Social Bookmarks,  Blogs) AJAX Fragment Consumer AJAX Programming Model Extensions (Dojo Framework & Widgets + AJAX.0 + REST accessor JS functions + Semantic Tags + Client Side Click-2-Action) REST style Portal Services (Persistence, User Profiles, Portlet Settings, Navigation, Pages, etc) Quickr (Wikis, Blogs,  Lists, Doc Libs,  Discussions) Connections Portlets MyPlaces Portlet Feed Service HTML+Dojo+JS Fragments (from J2EE,.NET,PHP, HTTP or other Server) WebSphere Application Server Classic JSR 168  Portlets AJAX enabled JSR 168  Portlets WSRP Consumer WSRP Service
Conclusion Web 2.0 is important for the enterprise AJAX and REST are important technologies related to Web 2.0 IBM uses Web 2.0 concepts and technologies sucessfully in its intranet WebSphere Portal already today in WP 6 provides Web 2.0 capabilities and leverages Web 2.0 technologies such as AJAX Future releases of WebSphere Portal will add more Web 2.0 features and expand use of AJAX and REST WebSphere Portal will integrate with Lotus Connections and  Lotus Quickr

More Related Content

What's hot (19)

PDF
01 web 2.0 - more than a pretty face for soa
Technology Transfer
 
PPTX
XCC Benefits - Who profits from XCC?
TIMETOACT GROUP
 
PDF
Chapter 1 introduction
jam c
 
PPTX
The Sad Story of the Intranet
TIMETOACT GROUP
 
PPTX
IBM ConnectED 2015, Session SPOT107, XCC - Web Content & Custom Apps for IBM ...
TIMETOACT GROUP
 
PPTX
RICH INTERNET APPLICATIONS - RIA Tools
Meghana Chandrashekar
 
PPTX
RIA - Rich Internet Applications
Meghana Chandrashekar
 
PPTX
XCC - What's New Release 10
TIMETOACT GROUP
 
PPTX
XCC 9.0 Whats New
TIMETOACT GROUP
 
PPTX
UX@Vitra - Experience Continuum
Katrien De Graeve
 
PDF
Social networking app to trade user belongings
Mike Taylor
 
PDF
XCC Introduction - Web Content Management Extension for IBM Connections
TIMETOACT GROUP
 
PPTX
XCC Personalization
TIMETOACT GROUP
 
PPTX
Topic in-et
TheWindChaser
 
PPTX
KMA Deck -C. McNulty discusses ecm wcm-upgrades2010 - nyc
Knowledge Management Associates, LLC
 
PDF
webservice_propertiesInIreland_REPORT
Jyoti Tyagi
 
PPTX
Rich Internet Applications
Youssef Shaath
 
PPTX
SharePoint 2010 as a Development Platform, Ayman El-Hattab MVP
Ayman El-Hattab
 
01 web 2.0 - more than a pretty face for soa
Technology Transfer
 
XCC Benefits - Who profits from XCC?
TIMETOACT GROUP
 
Chapter 1 introduction
jam c
 
The Sad Story of the Intranet
TIMETOACT GROUP
 
IBM ConnectED 2015, Session SPOT107, XCC - Web Content & Custom Apps for IBM ...
TIMETOACT GROUP
 
RICH INTERNET APPLICATIONS - RIA Tools
Meghana Chandrashekar
 
RIA - Rich Internet Applications
Meghana Chandrashekar
 
XCC - What's New Release 10
TIMETOACT GROUP
 
XCC 9.0 Whats New
TIMETOACT GROUP
 
UX@Vitra - Experience Continuum
Katrien De Graeve
 
Social networking app to trade user belongings
Mike Taylor
 
XCC Introduction - Web Content Management Extension for IBM Connections
TIMETOACT GROUP
 
XCC Personalization
TIMETOACT GROUP
 
Topic in-et
TheWindChaser
 
KMA Deck -C. McNulty discusses ecm wcm-upgrades2010 - nyc
Knowledge Management Associates, LLC
 
webservice_propertiesInIreland_REPORT
Jyoti Tyagi
 
Rich Internet Applications
Youssef Shaath
 
SharePoint 2010 as a Development Platform, Ayman El-Hattab MVP
Ayman El-Hattab
 

Viewers also liked (10)

PDF
IBM Connect 2014 - BP207: Don’t Reinvent the Wheel – (Re)use Open Source Soft...
IBM Connections Developers
 
PDF
If You Know JSF, You Know Portals and Portlets
Wesley Hales
 
PDF
Ajax In Enterprise Portals
Wesley Hales
 
PPTX
SocialSafe - vision presentation - April 2014
Julian Ranger
 
PDF
01 web sphere portal business overview
ygolani
 
PPT
WebSphere Portal Business Overview
Joel Demay
 
PPTX
Implementing and managing Content Management Systems
R Sundara Rajan
 
PPT
WebSphere Portal Technical Overview
Vincent Perrin
 
PDF
Introduction to Portlets Using Liferay Portal
rivetlogic
 
PPTX
Microservices Architecture for Content Management Systems using AWS Lambda an...
Mitoc Group
 
IBM Connect 2014 - BP207: Don’t Reinvent the Wheel – (Re)use Open Source Soft...
IBM Connections Developers
 
If You Know JSF, You Know Portals and Portlets
Wesley Hales
 
Ajax In Enterprise Portals
Wesley Hales
 
SocialSafe - vision presentation - April 2014
Julian Ranger
 
01 web sphere portal business overview
ygolani
 
WebSphere Portal Business Overview
Joel Demay
 
Implementing and managing Content Management Systems
R Sundara Rajan
 
WebSphere Portal Technical Overview
Vincent Perrin
 
Introduction to Portlets Using Liferay Portal
rivetlogic
 
Microservices Architecture for Content Management Systems using AWS Lambda an...
Mitoc Group
 
Ad

Similar to Web2.0 Ajax and REST in WebSphere Portal (20)

PPT
4163A - What is Web 2.0.ppt
Matthew Perrins
 
PDF
OpenAjax Alliance: Driving Ajax Standards and Interoperability
elliando dias
 
PPT
D02 - What are the best tools for Building Web 2.0 Applications.ppt
Matthew Perrins
 
PDF
6 develop web20_with_rad-tim_frnacis_sarika-s
IBM
 
PDF
Develop Web20 With Rad - Tim Frnacis Sarika S
Roopa Nadkarni
 
PPT
Experience Ajax - Workshop For Designers
shank
 
PPT
Web 2 0 Ppt
rsyokesh
 
PPT
Web 2 0 Ppt
Hema Prasanth
 
PPT
Web 2.0
Himanshu Kumar Das
 
PPT
Web 2.0
TSUBHASHRI
 
PPT
Cavalcare l'onda del Web 2.0 - Dion Hinchcliffe
Tommaso Sorchiotti
 
PPT
Leveraging The Web 2.0 Movement, Dion Hinchliffe
Giuliano Prati
 
PDF
Postmodern Web Apps
malteubl
 
PPT
Web2.0-IFF
nidhi murarka
 
PPT
Web 2 0 Fullfeatures
vsnmurthy
 
PPT
Web 2 0 Fullfeatures
guest9b7f4753
 
PDF
Beyond HTML: Tools for Building Web 2.0 Apps
Marcos Caceres
 
PPT
Web 2 0 Fullfeatures
Ratna Prashanth
 
PPT
Implementing SOA with Portal, an IBM Impact 2010 Presentation
guestbc8b80
 
PPT
Ggc
deep7684
 
4163A - What is Web 2.0.ppt
Matthew Perrins
 
OpenAjax Alliance: Driving Ajax Standards and Interoperability
elliando dias
 
D02 - What are the best tools for Building Web 2.0 Applications.ppt
Matthew Perrins
 
6 develop web20_with_rad-tim_frnacis_sarika-s
IBM
 
Develop Web20 With Rad - Tim Frnacis Sarika S
Roopa Nadkarni
 
Experience Ajax - Workshop For Designers
shank
 
Web 2 0 Ppt
rsyokesh
 
Web 2 0 Ppt
Hema Prasanth
 
Web 2.0
TSUBHASHRI
 
Cavalcare l'onda del Web 2.0 - Dion Hinchcliffe
Tommaso Sorchiotti
 
Leveraging The Web 2.0 Movement, Dion Hinchliffe
Giuliano Prati
 
Postmodern Web Apps
malteubl
 
Web2.0-IFF
nidhi murarka
 
Web 2 0 Fullfeatures
vsnmurthy
 
Web 2 0 Fullfeatures
guest9b7f4753
 
Beyond HTML: Tools for Building Web 2.0 Apps
Marcos Caceres
 
Web 2 0 Fullfeatures
Ratna Prashanth
 
Implementing SOA with Portal, an IBM Impact 2010 Presentation
guestbc8b80
 
Ad

More from Munish Gupta (9)

PPT
Enterprise Gamification @ Gamified.in 2013
Munish Gupta
 
PPTX
Building Cloud Native Applications
Munish Gupta
 
PDF
Struts2 - 101
Munish Gupta
 
PPTX
Patterns for Building High Performance Applications in Cloud - CloudConnect2012
Munish Gupta
 
PDF
Websphere Portal V6.1 Security Overview
Munish Gupta
 
PPT
Cloud Computing With AWS
Munish Gupta
 
PPT
Evolution Of Java
Munish Gupta
 
PDF
Web Sphere Portal Security
Munish Gupta
 
PDF
Best of open source in applications
Munish Gupta
 
Enterprise Gamification @ Gamified.in 2013
Munish Gupta
 
Building Cloud Native Applications
Munish Gupta
 
Struts2 - 101
Munish Gupta
 
Patterns for Building High Performance Applications in Cloud - CloudConnect2012
Munish Gupta
 
Websphere Portal V6.1 Security Overview
Munish Gupta
 
Cloud Computing With AWS
Munish Gupta
 
Evolution Of Java
Munish Gupta
 
Web Sphere Portal Security
Munish Gupta
 
Best of open source in applications
Munish Gupta
 

Recently uploaded (20)

PPTX
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
PDF
Biography of Daniel Podor.pdf
Daniel Podor
 
PDF
Staying Human in a Machine- Accelerated World
Catalin Jora
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PDF
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PPTX
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PDF
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
PDF
What Makes Contify’s News API Stand Out: Key Features at a Glance
Contify
 
PDF
Advancing WebDriver BiDi support in WebKit
Igalia
 
PPTX
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
PDF
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
PDF
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
PDF
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
PPTX
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
PDF
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PDF
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
Biography of Daniel Podor.pdf
Daniel Podor
 
Staying Human in a Machine- Accelerated World
Catalin Jora
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
What Makes Contify’s News API Stand Out: Key Features at a Glance
Contify
 
Advancing WebDriver BiDi support in WebKit
Igalia
 
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 

Web2.0 Ajax and REST in WebSphere Portal

  • 1.  
  • 2. ID506: Web 2.0, AJAX, and REST in IBM WebSphere Portal Thomas Schaeck, STSM Lead Architect Quickr and WebSphere Portal Web 2.0 Stephan Hesmer WebSphere Portal Web 2.0 Architect and Lead Developer
  • 3. What is Web 2.0, AJAX and REST ?
  • 4. What is Web 2.0 ? A term coined by Tim O‘Reilly (see http:// www.oreillynet.com/pub/a/oreilly/tim/news/2005/09/30/what-is-web-20.html ) Increasingly used for next generation World Wide Web Applications and Services Web 2.0 has many aspects: Business Models that survived and have promise for the future Approaches such as services instead of products, the Web as a platform, ... Concepts such as folksonomies, syndication, participation, reputation, .... Technologies such as AJAX, REST, Tags, Microformats, ... And many others ...
  • 5. How do Web 2.0 Sites differ from „Web 1.0“ Sites ? Strict „Web 1.0“ site „ Web Master“ runs web site, users consume Few content editors Web site provides content and applications for users View-only markup Only human users Accumulates relatively small amounts of information and content Fixed categories / Taxonomy Unidirectional Modern „Web 2.0“ site Users collectively contribute to the web site, they don‘t just consume Every user is a content editor and rater Web site provides content, applications, and collective contributions of all users Semantically tagged markup Humans and applications as „users“ Accumulates huge amounts of information and content FlexibleTagging / Folksonomy Bi-directional Web Site Web Site Data Data App App App App
  • 6. Observations Web 2.0 consists of social and technical aspects The social aspects of Web 2.0 are much more fundamental than the technologies Web 2.0 Sites can derive huge value from their user community if they achieve critical mass  Some Web 2.0 companies have achieved extremely high market captialization (Google ($109,66 bn) bought YouTube for $1,65 bn) The Web 2.0 Site itself often only provides the infrastructure and guidelines for user participation The community then adds value to the site, e.g. by writing articles, posting videos, sharing bookmarks, etc Typically, these Web 2.0 sites have APIs for use by developers of mashup applications acting as multipliers Web 2.0 user interfaces typically apply the AJAX technology in order to achieve more responsive UIs
  • 7. What is AJAX ? AJAX is the acronym for A synchronous J avaScript a nd X ML The purpose is to create more dynamic and responsive web pages It is also about building web clients in a Service Oriented Architecture that can connect to any kind of server: J2EE, PHP, ASP.Net, Ruby on Rails, etc. AJAX involves existing technology & standards: JavaScript and XML Pattern: Page view displayed in a web browser retrieves data or markup fragments from a service and refreshes just a part of the page AJAX is non-trivial, it requires deep and broad skills in web development ... ... but the benefits to be gained can be huge compared to classic web applications AJAX enables major improvements in responsiveness and performance of web applications, e.g. used at Yahoo! Mail, Google Maps, live.com, and others AJAX is NOT hype – it is very real and very useful for highly interactive applications
  • 8. AJAX compared to classic Web UIs Browser Server Browser Server service In the typical web application, each request causes a complete refresh of the browser page An Ajax application begins the same way. After the initial page loads, Javascript code retrieves additional data in the background and updates only specific sections of the page Ajax forces you to think about discrete services. It may drive requirements for new services from your IT department
  • 9. What is REST ? REST is the acronym for „ Re presentational S tate T ransfer“ It is the architectural model on which the World Wide Web is based Principles of REST Resource centric approach All relevant resources are addressable via URIs Uniform access via HTTP – GET, POST, PUT, DELETE Content type negotiation allows retrieving alternative representations from same URI REST style services are easy to access from code running in web browsers, any other client or servers  very popular in the context of AJAX can take full advantage of the WWW caching infrastructure can serve multiple representations of the same resource More info: http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm
  • 10. Web 2.0 Concepts that are interesting for enterprise use Self-establishing Communities collaborating around topics of common business interest Support User Contribution , treat users as co-authors and leverages their skills better Accumulation of user knowledge to make apps smarter the more people use them Enable users to add value by adding meta data, e.g. rate, tag, bookmark, comment Allow users to Take Control and let them make applications most useful to them Separate User Interface from Services to make services re-usable Fine grained access to data supporting mashups Mashups combining existing services into new, useful applications joining information Situational Development of applications through line of business can help make businesses more agile AJAX to enable rich, interactive, highly responsive Web UI Use of Semantic Tags and Microformats to enable dynamic augmentation with contextual menus or information
  • 11. Web 2.0 in WebSphere Portal
  • 12. IBM WebSphere Portal is the User Interface to SOA MS Office & Windows Other Clients Web Browser Rich Clients Mobile Client Presentation Services eForms Xforms Other Clients
  • 13. WebSphere Portal 6 Overview Instant messaging Team Rooms Electronic Forms Workflow Builder WebSphere Portal Extend Web Content Management Portal Document Manager Workflow Engine WebSphere Portal Enable Presentation Customization Application aggregation Java Portlet API Use of 100’s of portlets WSRP support Admin Single sign on Search Personalization Portlet Generation Tool (Portlet Factory) Composite Applications Cluster Support Application Server Database LDAP Directory Server WebSphere Portal Server
  • 14. WebSphere Portal – An Example w3 portal for all IBM employees > 300,000 users Portlets provide essential information Highly personalized - displays the right info to the right users at the right time End-user customizable - users can create custom pages Has become a key tool for every IBMer Major productivity gain Targeted info delivery to users Users can easily find the apps they need
  • 15. Portals are the way to provide governed business mashups combining public information, enterprise apps and data Openness Critical enabler: Standards based access to integration and innovation Thin Clients Mobile Clients Rich Clients Security-Rich Composite application or view, that assembles and delivers services in the form of portlets in the context of a business process role-based composite applications in context process- driven
  • 16. Web 2.0 / AJAX / REST in WP and related Products - Today WP 6 allows User Contribution to portal sites through both WCM and PDM WP 6 enables Situational Development through Composite Application Templates and through Lotus Designer / Portlet Factory / Forms Designer WP 6 allows users Taking Control of their pages and choose content (if allowed by admin) Custom AJAX Portlets can be written today to run on WebSphere Portal, e.g. using the Dojo framework and widgets or the AJAX support in RAD WP 6.0 exploits AJAX for context menus, search menu, and some admin portlets WebSphere Portlet Factory can generate AJAX Portlets with incremental update and autocomplete IBM is strongly engaged in Dojo (see http://dojotoolkit.org/ ) as major contributor
  • 17. Disclaimer The following includes material that is directional in nature and does not imply any product plan commitment on the part of IBM. Screenshots in this presentation are from prototypes and likely to change significantly by the time products are released Eyebrow /breadcrumb (text below business unit or product name): 14pt Arial Regular, light gray R128 | G128 | B128 Text slide with single quote or statement Singe quote on page: 28pt Arial Italic, teal R204 | G 255 | B153 Reference: 20pt Arial, Regular black
  • 18. New Web 2.0 Work under development for WebSphere Portal REST Services to open up portal for mashup applications – services for server persistence, portlet settings and user profile access to simplify Web 2.0 application development AJAX Portlet Programming Model Extensions based on Dojo+IBM Extensions Client Side Aggregation and Customization using REST Services for better UX and improved performance AJAX Client Side Feed Consumption to enable highly efficient integration of information through feeds (Atom and RSS) Semantic Tags to allow smart markup to enable value add by portal, e.g. dynamic menus Client Side C2A/Property Broker and Drag & Drop based on Semantic Tag s integrated with server side property broker and C2A support to enable cross-portlet interaction locally in the browser as well as with server side code Sample AJAX Portlets with source showcasing the new capabilities to demonstrate and give samples to customers for how to exploit all the above Integration, Aggregation and Customization of Google Gadgets
  • 19. REST style Web Services exposing Portal to Mashups Goals: Separate portal user experience from portal data Expose relevant data separately for use by other apps (  Mashups) Public REST style Web services for Access to Navigation Node Hierarchy Access to Page Definitions Access to User Profiles Access to generic Content Persistence Access to markup fragments of individual portlets Mashups can use these services to implement custom applications leveraging portal infrastructure services WebSphere Portal’s Web 2.0 Client Side Aggregation uses these services as well
  • 20. Emerging WPLC Services&Feeds and Application Examples WebSphere Portal Portal Services User Service Persistence Service Contacts Service Domino Mail Services Calendar Services Sametime Portlet Service Awareness Service Conference Service IM Service Quickr Documents Services Team Space Services Custom Situational Application: Problem tracking application allowing to see author presence and location in map and contact via IM Custom Situational Application: Simple AJAX Mail / Cal summary views with awareness Product: WebSphere Portal Client Side Aggregation Search Service Geneva Portlets, Notes Plugin, Sametime Plugin, Desktop Integration Product: Common PIM Portlets for Mail and Calendar Access Connections Persona, Community Services Activity, Blog Services Internet Services Maps …
  • 21. Web 2.0 Fragment Model Simple and extensible Web 2.0 fragment programming model Agnostic of how fragments are generated , may be generated by portlets on WebSphere Portal generated by PHP code on Web.0 or PHP servers generated by .NET servers Can start simple , with option to grow more sophisticated Basic fragments – HTML only Slightly more advanced – add use of Semantic Tags More advanced – add use of Dojo and custom JavaScript Fragments can use public JavaScript interfaces to conveniently invoke WebSphere Portal’s REST-style Web services
  • 22. Web 2.0 Fragment Programming Model Web 2.0 Fragment Semantic Tags Dojo Widget Markup JavaScript Functions REST Calls to Portal Services User Profile Access Settings Access Persistence Service Access REST Calls to other Services, e.g. other WPLC services Weather Info, News, Sports, … CRM, HR, … Services etc
  • 23. Application Architecture Pattern Browser Cache Browser Cache Proxy Cache Produced Services REST Service REST Service REST Service Data Store(s) DS 1 Consumed Services Public APIs (Local) ... Application Logic Service 2 Service 1 Service n ... DS 2 DS n ... AJAX Views AJAX Views AJAX Fragments (e.g. Portlets) AJAX Views AJAX Views Expeditor Plugins Web Browser AJAX Views Expeditor Expeditor Plugins Local App Code (if co-located) Application User Interface Application Services Project to Expeditor Project to Browser REST SyncML REST
  • 24. Web 2.0 Client Side Aggregation Browser-side Aggregation, Navigation and Customization Superior user experience Highly reactive and direct user interface Many actions possible without server roundtrips Avoids page flickering Accesses and manipulates portal information through REST services Renders XML obtained from the server on the browser side Implemented using AJAX, XML, Dojo, and JavaScript Improved performance and scalability through Reduced server side processing - offloads rendering to browser Reduced bandwidth requirements between server and browser Reduced client-side processing – mostly fragment reloads, few page reloads Improved cachability, all artifacts can be cached independently
  • 25. AJAX based Client Side Aggregation in the Web Browser Services created with Google Gadgets Atom / RSS Feeds REST-accessible Markup Fragments from WP Portlets or any other URL WSRP Services
  • 26. Client Side Aggregation in Web Browser Portal Pages Portlet Settings Portal Navigation Tree based on Access Control and Personalization Navigation REST Service (Atom) Page REST Service Portlet Settings REST Service Portlet Access REST Service Theme Client Side Aggregation Enabled Theme User Profiles User Profiles REST /Web Service Portlets
  • 27. Semantic Tags, Context Menus and Drag&Drop Conference Participants ... IBM ST Thomas Schaeck ST 5 Technology Park Dr 555-5555 ST Westford, MA ST Group ST Locations ST‘ Click to dial Extensible set of tag types such as person, address, phone number, document, ... is used to mark content elements with types (semantic tagging) Behaviours like e.g. context menus, annotations, highlighting, drag & drop, etc can be applied to everything that is semantically tagged D&D D&D
  • 29. AJAX based RSS/Atom Feed Consumption Allow simple consumption and display of Feeds in portal pages Atom feeds RSS feeds Implemented using AJAX, Dojo and JavaScript Gets settings defining the feed to display from portal Retrieves feeds from origin servers via AJAX proxy Renders feeds in the browser rather than causing server load
  • 30. AJAX RSS/Atom Feed Consumption directly from Origin
  • 31. Google Gadget Integration Enable customers to easily integrate Google Gadgets into portal pages  From an end user perspective, Google Gadgets integrated in WebSphere Portal behave just like local portlets: viewable and customizable like any local portlet If allowed by admin, users can drag Generic Gadget Portlets on their pages and select Gadgets to display from the Gadget Catalog Gadget Portlet initially lets user select the Gadget to display from the Gadget Catalog Gadget Portlet then displays the selected Gadget User can view and customize the selected gadget like any local portlet Administrators can pre-define Gadget Portlets for the portlet palette Generic Gadget Portlet is pre-configured by the admin to connect it to a certain gadget, e.g. an admin could create a “Map Portlet” by creating a Gadget Portlet and connecting it to the Google Maps Gadget Users can then select such pre-configured Gadget Portlets from the palette and drag them onto their pages like any local portlet
  • 32. Google Gadget Integration – A Gadget integrated in WebSphere Portal as a portlet
  • 33. Google Gadget Integration – Selecting a Gadget to integrate into WebSphere Portal as a portlet
  • 34. IBM Portlet for Google Gadgets Architecture IBM Portlet for Google Gadgets Google Gadget Google RSS Feed listing available gadgets View Mode Customize Mode Configuration Mode Customize Mode View Mode
  • 36. Web 2.0 Portal Architecture WebSphere Portal Foundation AJAX Feed Consumer Connections (Activities, Blue Pages, Social Bookmarks, Blogs) AJAX Fragment Consumer AJAX Programming Model Extensions (Dojo Framework & Widgets + AJAX.0 + REST accessor JS functions + Semantic Tags + Client Side Click-2-Action) REST style Portal Services (Persistence, User Profiles, Portlet Settings, Navigation, Pages, etc) Quickr (Wikis, Blogs, Lists, Doc Libs, Discussions) Connections Portlets MyPlaces Portlet Feed Service HTML+Dojo+JS Fragments (from J2EE,.NET,PHP, HTTP or other Server) WebSphere Application Server Classic JSR 168 Portlets AJAX enabled JSR 168 Portlets WSRP Consumer WSRP Service
  • 37. Conclusion Web 2.0 is important for the enterprise AJAX and REST are important technologies related to Web 2.0 IBM uses Web 2.0 concepts and technologies sucessfully in its intranet WebSphere Portal already today in WP 6 provides Web 2.0 capabilities and leverages Web 2.0 technologies such as AJAX Future releases of WebSphere Portal will add more Web 2.0 features and expand use of AJAX and REST WebSphere Portal will integrate with Lotus Connections and Lotus Quickr