620 likes | 629 Views
Explore how to build composite applications using Web 2.0 and mashup technologies. Discover IBM's strategy and tools for empowering people to be more effective and innovative in their work.
E N D
Composite Applications LandscapeWeb 2.0, Mashups and Situational AppsBill.Hahn@us.ibm.comSr. Consulting Developer/Architect (IBM Certified SW IT Specialist)Go to http://SOAWeb20.com for presentations, demos, tutorials and other resources
Agenda • IBM Strategy • Web Based Composites with Web 2.0 • Portal Based Composites • Portlet Template Editor • Component Designer • Desktop/Device Composites • Expeditor 6.1 • Sametime 7.5 • Notes 8.0
3 Empowering people to be more effective, responsive and innovative…
... in the context of the work they do Composite Applications SAP and Siebel PeopleSoft Web Service Domino Data Relational Data
…in the context of the work they do Business Application Tools Business Unit Messages
Composite Applications – The Face of SOA Desktop Client(Connected/Disconnected) Web Content (html) Portlet (JSR168) Web Browser Client(Connected Portal, etc.) Notes/Domino *.nsf SAP and Siebel PeopleSoft Web Service Relational Data Domino Data
Composite Applications - Building Blocks Web 2.0 Elevates user expectations of collaboration and business applications SOA has a business process sweet spot “Business Processes” and “Collaboration” are nearly inseparable. Many business processes are “ad-hoc” or “informal” and many are not easily automated Humans provide the “choreography” and composite applications (i.e. portlets) surface the service-based “Operations” Meeting users where they work Brings the applications to the users as opposed to making users find the applications Composite Applications bring collaboration into the context of existing applications, as opposed to forcing a new place for collaboration Rich clients are the ‘best of both worlds’, web and desktop content! Even though Web 2.0 establishes new and improved UI’s for the web browser, there is a continued need for richer capabilities at the client, management of local/disconnected datasets and composite applications that blend server-side and client-side content/apps.
Web 2.0, History, and IBM Three patterns driving Web 2.0 Users add value Service, not software • Recommendations • Social networking features • Tagging • User comments • Community rights management Software as aSERVICE COMMUNITYmechanisms • User-driven adoption • Value on demand • Low cost of entry • Public infrastructure • Tight feedback loop between providers and consumers Web 2.0 Easy to use, easy to remix SIMPLEuser interface and dataservices • Responsive UIs (AJAX) • Feeds (Atom, RSS) • Simple extensions • Mashups (REST APIs)
Web 2.0, History, and IBM Observations • Web 2.0 consists of social and technical aspects • The social aspects are fundamental • Web 2.0 Sites can derive huge value from their user community if they achieve critical mass • Sites often only provides the infrastructure and guidelines for user participation • Communities adds value to the site, e.g. by writing articles, posting videos, sharing bookmarks, etc. • Typically, sites have APIs used by mashup developers acting as multipliers • Web 2.0 user interfaces typically have more responsive UIs (Web – i.e. AJAX) (Rich Client – i.e. Expeditor)
SOA and The “People” On Ramp People conduct MOST of these business processes
Flexibility of client technology • Mobile/Desktop • Device-side components • Offline applications • Desktop • Portal • Personalization • Aggregation • Integrated collaboration • E-mail, calendar and applications • Offline support • Web • Ajax • Mashups • Real time • Chat • Web conference • VoIP
IBM Client Strategy Domino Mail, calendaring and collaborative applications Rich client Browser Portal Mobile Interaction and client services (online or offline) Expeditor Connections Sametime Unified communications and collaboration services Rich Client Platform based on Eclipse RCP Social Software for Business Composite application and integration services Composite application framework Business process Information
Users and Solutions have different requirements Demo DOJO J2EE AJAX CSS HTML MOM JSON Java ATOM DOM JSF PHP JPA XML RSS JavaScript JSR 286 JSR 168 REST Eclipse EnterpriseMASHUPS Java Expeditor SWT OSGi JMS JSR 291 JFace Notes JDBC Sametime WS-* The gap between the user and an SOA can be complex IBM is focused on making this simple with a clear strategy
IBM Client Strategy Demo Web Composites Portal Composites Collaborative Composites Desktop Composites To help clients build solutions that allow people to interact with an SOA using IBM Software, based on Open Standards
Single Story • IBM Strategy is to support solutions across different industries and across different industry channels • Built by multiple IBM Software Brands, led by Lotus and WebSphere • Supporting the enhancement of open technologies and standards • Working across different Technology boundaries JEE (J2EE) , Web 2.0, Eclipse RCP, Sametime, Notes, Expeditor, etc. Financial Retail Health Telecoms Public Sector
WebSphere FocusBridging Web SOA and Enterprise SOA Web SOA Enterprise SOA J2SE AJAX Feeds ATOM J2EE JSON Ruby WS-* WSDL JDBC RSS PHP XML JMS SOAP Feeds Web SOA Bridge MOM Feeds .NET REST CICS EnterpriseMASHUPS Feeds
Lotus Focus – Desktop Composites, etc. Integrated client middleware spanning Win2K, WinXP, WinMobile and Linux COMPOSITION • Web– when needed • Browse any existing web application • Rich– when needed • Optimized user experience exploiting native platform look and feel • Composition– when needed • Seamless integration enabling “Composite Applications” • Disconnected– when needed • Full application support – at the client • Managed– when needed • Install, configure, and maintain both the platform and the applications WEB RICH Expeditor DISCONNECTED MANAGED “Seamlessly integrate with Web 2.0 content and data but using the power of the desktop operating system” 18
Web 2.0 Product, Technology and Capabilities WebSphere Web 2.0 Ajax Portal, Web 2.0 focused Solutions Integration Skills WebSphere SOA Traditional WebSphere Skills • Focused on next Generation Internet/Intranet applications • Rich Internet Applications • Strong integration skills into SOA required, JMS, WS, JDBC, etc, Industry Solutions Composite Skills Integration Skills Lotus Expeditor 6.1 Sametime 7.5 Notes 8.0 Desktop / Device Composites • Focused on solutions that extend the Lotus Client family
Weather 1 Demo 2 Demo 3 Database 4 Demo 5 Demo 6 ProjMgmt 7 Demo 8 CustComp 9 Composite Applications Landscape Build Components Assemble and Deploy Presentation Notes 8 / Expeditor Rich Clients Pre-built components Browser / Portal New Applications Component Assembly and Customization “Situational Apps” & “Mashups” Devices Domino, Relational Enterprise data(e.g. SAP, Siebel, PeopleSoft, etc.)
High Level Programming Model for Composite Applications UseApplication Clients Assemble and Wire Application Build/Deploy Components Notes 8 / Expeditor Rich Clients No programming Portlets, Builders, Lists Assembly Composite Application Editor Portal Application Template Editor Script-style development Domino Designer Component Designer Notes 8 Built-in Tools Browser / Portal Comprehensive Java IDEs Expeditor toolkit Rational tools Portlet Factory Devices
How do you Create Components for Composite Apps Leverage tools according to requirements and skill level SOA-based component built with Portlet Factory Collaborative components built with Lotus Component Designer J2EE/SOA components built with RAD Notes applications built with Domino Designer
Multi-channel Access Customers require multiple channels of access/interaction. IBM provides comprehensive support for all channels, composable from core services.
Web 2.0: Situational Applications Assemble, Wire, Share web applications & services in minutes • Content Syndication: • Atom • RSS • Industry XML Standards. • Web Services • Rich Internet Applications • Mashboards • Mashup Makers • Portals • Social Networking • DogEar • Instant Messaging • Activities/communities Share Assemble • Business process & event customization • Reliable messaging Wire Harness Web 2.0 power: Empower the Knowledge worker to assemble their own web situational applications Enable non-programmers to wire software components together with behavior and data relationships Embrace the community spirit of Web 2.0 - Share personal web applications for quick and simple collaborative decision making activities
What is a Situational Application? A Situational Application is rapidly created (<10mins) to address an immediate need of an individual or community typically but not necessarily short-lived (a just-in-time solution) informal (lacks product quality look and feel) just good enough A Mashup can be a form of a Situation Application that is comprised of 2 or more disparate components that are bound together through content yields a new utility by seamlessly combining content from more than one data source with behavior to form a new integrated experience A Mashboard can be a form of a Mashup that is typically personalized and unique for an individual yet configurable contains a collection of indicators that signal change when the status of content items of personal interest change
“Do-it-yourself” programming is not new, so what is new that is contributing to the Situational Application adoption trend? • Proliferation of APIs and Mashups that are just a URL away • UnparalleledContent/data/services available • Larger population of people who can develop – “anyone can program, well…” • Approachable programming models • New “tools” and Web 2.0 technology enable rapid application development with lower skills • Service-orientation and SOA adoption contribute to the consumer/provider model of development (REST & WSDL) • Collaborative, “social” model of programming is even taught in schools
Web 2.0 Situational App Characteristics Software getting out of the way of information so that information can attain its optimal value Consuming and remixing data from multiple sources, including individual users, while providing their own data and services in a form that allows remixing by others Delivering software as a continually-updated service that gets better the more people use it Going beyond the page metaphor of Web 1.0 to deliver rich user experiences A collection of approaches including Web based APIs, Feeds, “Folksonomies”, and Social Networking which combine to give application developers a new way to approach hard problems with surprisingly effective results
IBM Web 2.0 Technologies Current Focus Areas Web 2.0 Technologies converging on a few key value proposition Broad Collaboration “It’s About Participation” Simplicity & rich(er) internet experiences Remixability Enabling “applications” that can be created by non-professional programmers APIs based on open (defacto) standards On Forefront of Opportunities It’s about instant results It’s about empowering line-of-business professionals 29
IBM Mashup Maker - QEDwikiArchitecture Overview QEDWiki 1 QEDWiki 1 QEDWiki 1 Mashup Assemblers Mashup Enablers 30
Supports the key tasks required to build a business driven mashup Create composite service Create presentation services by binding data and services to existing UI components, e.g. Widgets, Google Map, etc. Compose and wire the presentation services into an application. Mashups In Context – Tasks and Roles Less Skill & Time (3) Composite Application Business Analyst Mashup.0 (1) Composite Biz Service (2) Mash-able Presentation Component (Web Component) Web Developer Widgets Web Developer AJAX.0 ATOM / RSS, REST services Web Services IT Developer Java.0 / PHP.0 / SOA.0 IT Developer Zero Runtime More 31
Mashup Anatomy Widgets Mashup Maker Content Providers Mashup Contains Assemble, Wire, Share Consume
Web 2.0 Mashup Summary Web 2.0 Technologies enable Enterprise Mashups Situational Applications and Mashups Are not a new category of applications Describe a new area of focus for web application development Typically ignored ort under radar of IT departments IBM seeks to empower knowledge workers to assembler their own mashups Assemble Subject Matter experts who may not be programmers can create web applications to address just-in-time ad-hoc situational needs Integrate data and markup using widgets to create new utilities Wire Bind rich content from disparate sources to create new ways to view information Add behavior and relationships to disparate widgets to create a rich interactive application experience Share Leverage QEDWiki to Quickly promote your mashup for use by others Enable multi-user collaboration on the development of a mashup 33
Portals are a way to provide governed mashups combining public information, enterprise apps and data composite applications role-based process- driven in context Rich Clients Thin Clients Mobile Clients Openness Security-Rich Composite application or view, that assembles and delivers services in the form of portletsin the context of a business process Critical enabler: Standards based access to integration and innovation
WebSphere Portal at IBM 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
Portal Web2.0 Portal Web2.0 Portal Web2.0 Portal Composite Applications SAP Siebel Web Service Relational Data Domino Data
IBM Client Technologies addresses “People, Places, and Things” Collaboration Extend/Enhance collaborationbetween humans involved in business processes Line Of Business Extend/Enhance human and machine integrationto/from business processes Embedded Sametime 7.5 Notes 8.0 Extend/Enhance platform programmability to enable human and machine integration to/from business processes Expeditor 6.1 for Desktop Expeditor 6.1 for Devices 39
What is involved in Desktop Composites ? Integrated client middleware spanning Win2K, WinXP, WinMobile and Linux COMPOSITION • Web– when needed • Browse any existing web application • Rich– when needed • Optimized user experience exploiting native platform look and feel • Composition– when needed • Seamless integration enabling “Composite Applications” • Disconnected– when needed • Full application support – at the client • Managed– when needed • Install, configure, and maintain both the platform and the applications WEB RICH Expeditor DISCONNECTED MANAGED “Seamlessly integrate with Web 2.0 content and data but using the power of the desktop operating system” 40
Web Composite ? – when needed Support all full featured web content HTML + CSS + DHTML + JavaScript Ajax (JWL, DoJo, Custom, Etc. ) Local Web Container for Offline Support Extensions “Common” Browser Plugins (e.g. Flash, PDF, etc.) Applets ActiveX Controls (Win2K, WinXP only) Provide Lockdown Browser URL management Access Control COMPOSITION WEB RICH Expeditor DISCONNECTED MANAGED Web Browse any existing Web 1.0, Web 2.0 & Ajax application Desktop client middleware spanning Win2K, WinXP, WinMobile, and Linux “Extending SOA beyond the data center to People, Places, and Things” 41
When do I use the “Web” capability? Example: Render “Classic” Web App (i.e.: Remote) either “Headless” or “Integrated” “Headless” (ie, Browser as the shell) “Integrated” Container 42
What is Rich – when needed Enable Platform native look and feel … Enable Drag and Drop Enable Keyboard integration Enable 2D/3D and Vector Graphics Enable Hardware Device Integration Enable protection from OS Level Changes COMPOSITION WEB RICH Expeditor DISCONNECTED MANAGED Rich Optimized user experience exploiting native platform look and feel Desktop client middleware spanning Win2K, WinXP,WinMobile, and Linux “Extending SOA beyond the data center to People, Places, and Things” 43
Composition – when needed Enable “Mashups” across pre-existing and new application types Swing, AWT, Native, .NET, Web, Portlet, Forms, RCP, Flash/FLEX, Text Terminal, Etc. Local data integration between applications Local event integration between applications Create new views on existing applications Enable complete Desktop management Optimize real estate Control overall look and feel Custom branding Configurable access COMPOSITION WEB RICH Expeditor DISCONNECTED MANAGED Composition Seamless integration enabling “composite applications” Desktop client middleware spanning Win2K, WinXP, WinMobile, and Linux “Extending SOA beyond the data center to People, Places, and Things” 44
Disconnected – when needed Enable better responsiveness Minimal round trip to server(s) Improve end to end scalability Locally hosted business logic Enable transparent server interaction when server becomes available Outgoing - Complete transactions when connected Incoming - Refresh/Update local content when connected Enable mobility “Full” disconnected for long periods of time (i.e.: on an airplane) COMPOSITION WEB RICH Expeditor DISCONNECTED MANAGED Disconnected Full application support – at the client Desktop client middleware spanning Win2K, WinXP, WinMobile, and Linux “Extending SOA beyond the data center to People, Places, and Things” 45
Managed – when needed Enable flexible points of control One time setup; subsequent lockdown desktop Lockdown browser (URL, Access Control, etc.) Lockdown composite applications Dynamic, self managed by end user Dynamic centrally managed via server Continue to maintain a lockdown user view of the system Combinations of end user and central server managed Enable central visibility Applications Configurations History, Inventory and Status Enable remote access Administrator scheduled jobs on the client COMPOSITION WEB RICH Expeditor DISCONNECTED MANAGED Managed Install, configure and maintain both the platform & the applications Desktop client middleware spanning Win2K, WinXP, WinMobile, and Linux “Extending SOA beyond the data center to People, Places, and Things” 46
Composite Application Communication In a nutshell you have to provide the functionality to send data and you have to provide an entry point for the property broker to call your component to let it know new data has arrived! Workbench Eclipse Web WIRE Property Broker WSDL File = WIRE Portlets Native Rich Client Platform Equinox (OSGi)
Expeditor 6.1 Create easy to use Composite applications 49
Expeditor 6.1 Example: Create easy to use applications 50