Published on

Websphere sMash is a new, development paradigm and execution platform for quickly building agile,
web-based application. It harness on the flexibility of Web 2.0 technology and uses dynamic scripting to
build simple situational apps.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • This image is of the “long tail” a popular concept in the Web 2.0 space… There is a class of business applications across small, medium and large businesses that are not well supported today. We refer to this type of application as the long tail of business applications. In contrast to the more ubiquitous, three lettered acronym applications (e.g. CRM, SCM, ERP), the applications found in the long tail are focused on more situational business needs and play a more supporting vs. primary role in the overall mission. Solutions to these situational business needs evolve as the needs of the situation change. Examples of these applications include applications for sales analysis, business dashboards, contact management, reporting, trade show mgmt, marketing resource mgmt, collateral distribution, and help desk functions. The value of these applications is often difficult to measure using traditional business metrics. These are applications built to address an immediate rather than long-term, strategic need and as such, are often relegated to lower skilled programmers (and CTOs who like to stay current) who follow a more casual, sometimes “ad hoc” approach to development. Frequently there is little or no budget for these applications and development takes place under the radar of central IT management by small teams working under an informal, unstructured approach. Little or no focus is given to scalability, maintainability, availability, etc. although many of these applications become mission-critical over time. Within the enterprise context these applications are frequently hosted in “lighter weight” environments rather than the production environment where mission critical applications are hosted. In an IBM MI study (Oct, 2005) Just over half of all respondents believed that the ad hoc application created as part of last ad hoc project profiled is now mission-critical to their company.
  • IBM executives are frequently meeting with customers either via phone or in person. Enabling them to quickly check for status of a specific customer and research evolving ‘situations’ is a critical element of managing customer satisfaction. The Customer Client Support Portal application was built to deliver detailed information to management with a ‘need to know’. However, management often finds themselves remote from a workstation or laptop. Access to CCSP through a mobile device was made available to deliver ‘on-demand’ information to executives on the move. Summary information is now available to mobile devices such as the Blackberry. The executives also have the ability to drill into specific situation details… This ‘situational’ application was built with an investment of less than 60 hours and less than 2000 lines of code. It accesses the primary CCSP database, provides more than 18 different formats for information and reuses services provided as part of the backend portal system. Goals of CCSP Mobile: Ease of use, simple to maintain & update, improve customer satisfaction. Reuse same services as main Portal application. Time to value: Written in < 60 hours. Consisted of < 2000 lines of code.
  • Key points: This slide introduces 3 WebSphere sMash differentiating themes which are used throughout the rest of the presentation – speed, simplicity and agility
  • Key points: sMash does not required a “PhD in JEE” to rapidly deliver robust applications Easy migration for developers already familiar with PHP, and Groovy is simple to pick up for those familiar with Java/JEE Tooling creates REST services and ATOM feeds by default
  • Key points: Enforcement of previous point – sMash is about dynamic scripting vs. programming. Java is only there for extensibility / interoperability Deeper dive into PHP support, PHP / Java / Groovy integration, in later section.
  • Key points: REST is a key Web 2.0 enabler, we’ll have a lot of discussion around REST in this briefing. Deeper dive in second section. ZRM is another key differentiator for the sMash platform and facilitates the development of data access applications in minutes Screenshots show an overview of a JSON (JavaScript Object Notation) data model, sample client scripts using ZRM API to access data and URLs for REST access
  • Key points: Fits into your programming style Many “simplicity” topics in sMash but we’ll focus on tooling first. Easy to use and feature-rich visual browser-based IDE (as well as Eclipse and command-line support) Screenshot shows the Flow Editor in the Application Builder – aggregating feeds and REST services to generate a consolidated report in MS Excel Event driven programming model similar to traditional UI programming. Configuration based on adherence to conventions and simple configuration file. More on programming model and configuration strategy in deep dive section.
  • Key points: Application Builder is a feature-rich Web development environment which makes sMash application development even simpler Includes extensive wizards and editors not available on Eclipse and command-line interfaces Application Builder is a significant differentiator for the IBM solution Screenshot is from the JSON (JavaScript Object Notation) structure editor
  • Key points: Demonstrates the breadth of the editors included in the Application Builder Visual UI Editor is suitable for simple pages today – more sophisticated and highly dynamic sites will still require AJAX scripting Flow editor allows ATOM feeds and REST services to be visually wired together and further enriched with script invocations. Visual flow is persisted in XML using a simplified BPEL syntax
  • Key points: “ Lightweight” but robust JSE-based runtime means less time waiting and more time developing Screenshot shows Application Builder “My Applications” page – where individual applications can be started/stopped
  • Key points: The simplified runtime model provides many benefits, but also requires a mental shift for existing JEE developers / administrators Full notes: One of the simplifications of WebSphere sMash is the notion that each application is a standalone runtime. Rather than loading runtime components 'just in case' the application might use them, the application runtime contains just the set of features that a single application is using and is thus small and efficient. There is no deployment process for WebSphere sMash applications. You simply have a set of files that represent your application and a set of dependencies on extension modules. You can copy the application to a machine, resolve the dependencies and start the application. Multiple applications can, of course, run simultaneously but they run independently providing isolation, simplifying versioning issues, and enabling easier management.
  • Key points: sMash defines a new level of consumability for IBM products. Gone are multiple DVDs of installation sources, replaced with a 5Mb core download which then pulls dependencies when required Packaging is done through Apache Ivy – a configuration-driven dependency manager extensively used by Java teams The organization of libraries into modules, and the associated dependency management scheme and remote repositories, greatly simplify the whole area of locating and resolving dependencies. Full notes: WebSphere sMash is designed so that application are based on a very small core that is approximately 5.4M that includes the Groovy support. The core provides all of the framework and runtime support including the HTTP runtime stack. To add to the core you may download modules by declaring dependencies in Ivy and then the package management system manages those dependencies allowing you to share dependencies, demand load dependencies and manage updates to the dependencies.
  • Key points: Screenshot is of a sMash Flow included in the Travel Request sample available from the sMash repository, and shows a simple approval process implementation
  • REST is based on a collection model. The action performed by the RESTful service is based on the combination of the URI and the HTTP methods. The table summaries the results of the combinations. In WebSphere sMash, the action is defined in the following format /resources/<collectionName>[/<memberID>[/<pathInfo>]] Where /<collectionName> identifies the resource that is the target of the action and the handler for that resource is by convention in the <apphome>/app/resources directory. Based on the type of resource, collection or collection member,
  • Change and Release Management for Software Development
  • sMash_for_zOS-users

    1. 1. WebSphere sMash with CICS For Z/OS User Group
    2. 2. Abstract <ul><li>CICS has been powering the world's transactions for forty years, continually evolving and adopting new technologies. Many customers see CICS's adoption of a technology as validation that it's ready at the enterprise level. Through WebSphere sMash, CICS brings seamless integration of rich Web 2.0 interfaces to your core CICS applications. WebSphere sMash is a new agile Web application platform for developing and running modern Web 2.0 applications. It can be used to create RESTful Web services and rich AJAX interfaces using popular Web technologies such as PHP and Groovy. This session explores the integration of CICS and sMash and the role of dynamic scripting in the enterprise world. The session will explain and demonstrate the SupportPac CA1S provides the ability to use PHP scripts in CICS as an option to service enable your applications in a RESTful style. We will also show how easy it is to create situational applications using sMash with CICS via the CICS Transaction Gateway. </li></ul>
    3. 3. Agenda <ul><li>Web 2.0 </li></ul><ul><li>Situational Applications </li></ul><ul><li>WebSphere sMash </li></ul><ul><li>WebSphere sMash with CICS examples </li></ul><ul><li> </li></ul>
    4. 4. Agenda <ul><li>Web 2.0 </li></ul><ul><li>Situational Applications </li></ul><ul><li>WebSphere sMash </li></ul><ul><li>WebSphere sMash with CICS examples </li></ul><ul><li> </li></ul>
    5. 5. Web 2.0 – Philosophy – not just Technology <ul><li>An important trend in delivering software applications </li></ul><ul><li>An enabler for richer web applications </li></ul><ul><ul><li>New business models </li></ul></ul><ul><ul><li>Peer-to-peer user participation </li></ul></ul><ul><ul><li>New technologies </li></ul></ul><ul><ul><li>Interactive filtering, presentation, data entry </li></ul></ul><ul><li>A combination of core technology components </li></ul><ul><ul><li>Rich user experience (maps, grids, animation, D&D, etc) </li></ul></ul><ul><ul><li>Loose-coupling, composite applications via reuse and “mash-ups” </li></ul></ul><ul><ul><li>Technologies (SOAP, REST, JSON, ATOM, Java, PHP, Dojo, Ruby, Python, Perl, etc) </li></ul></ul>
    6. 6. Web 2.0 Application Characteristics <ul><li>Rich user experience with minimal page transitions </li></ul><ul><li>Dynamic content </li></ul><ul><li>Data asynchronously retrieved via REST or SOAP service calls </li></ul><ul><li>Client-side validation </li></ul><ul><li>User encouraged to add value </li></ul><ul><li>Simplified user interface </li></ul><ul><li>Integration of relevant data from multiple sources </li></ul>
    7. 7. Web 2.0 for the Enterprise? <ul><li>Web 2.0 is </li></ul><ul><ul><li>Creating new markets </li></ul></ul><ul><ul><li>Lowering competitive barriers </li></ul></ul><ul><ul><li>Encouraging creativity to come from anywhere </li></ul></ul><ul><ul><li>Harnessing community created media </li></ul></ul><ul><ul><li>Tapping into the wisdom of the crowds </li></ul></ul><ul><ul><li>Enhancing communications and making information more impactful </li></ul></ul><ul><li>What does it means for the enterprise? </li></ul><ul><ul><li>Greater collaboration and innovation across the value chain </li></ul></ul><ul><ul><li>Increased levels of customer intimacy </li></ul></ul><ul><ul><li>Simplification of complex IT and business infrastructure </li></ul></ul><ul><ul><li>Business model flexibility to capitalize on new market opportunities </li></ul></ul>It’s fast becoming a Web 2.0 business world, where innovation never goes out of style. According to Gartner Missing out on the non-technology aspects of Web 2.0 means that many organizations will also miss out on some of the positive business benefits
    8. 8. Agenda <ul><li>Web 2.0 </li></ul><ul><li>Situational Applications </li></ul><ul><li>WebSphere sMash </li></ul><ul><li>WebSphere sMash with CICS examples </li></ul><ul><li> </li></ul>
    9. 9. The Application Landscape Usage Number of Applications ERP CRM SCM Enterprise applications Traditional developers building strategic applications Developers building simple applications and services to solve simple problems IT created applications User created applications Sales analysis Dashboards
    10. 10. Scenario: Enable Mobile Access Information delivered : Formatted to allow direct download into the mobile device Function delivered : Drill into any specific customer situation from the mobile device. Source: Centralized Data Base of client support information <ul><li>Goal: Enable mobile access to IBM’s Customer Support Portal </li></ul><ul><li>WebSphere sMash used to quickly and simply deliver mobile, on-demand, “need to know” view of client information to busy executives </li></ul>
    11. 11. Agenda <ul><li>Web 2.0 </li></ul><ul><li>Situational Applications </li></ul><ul><li>WebSphere sMash </li></ul><ul><li>WebSphere sMash with CICS examples </li></ul><ul><li> </li></ul>
    12. 12. Accelerate business and IT alignment with sMash WebSphere sMash provides an agile web 2.0-based dynamic scripting environment, based on known technologies, for quick delivery of dynamic applications. Speed Simplicity Agility Dynamic scripting languages Templates & pre-built services No-charge, robust browser & Eclipse based tooling Simply create rich Web 2.0 interfaces Nimble runtime optimized for Agile environment Application “is” the server
    13. 13. Rapidly Develop Applications WebSphere sMash is easy for developers to access, learn, and use <ul><li>Speed </li></ul><ul><li>Dynamic Scripting in PHP and Groovy (Java Language Syntax) </li></ul><ul><li>Effortless creation of RESTful Services and Data Feeds (RSS, Atom) </li></ul><ul><li>Repository of pre-built templates, services, libraries, and connectors result in less time coding & configuring. </li></ul>
    14. 14. Dynamic Scripting <ul><li>WebSphere sMash is a dynamic scripting platform </li></ul><ul><li>Applications created in one of two scripting languages </li></ul><ul><ul><li>Groovy (for people that prefer Java) </li></ul></ul><ul><ul><li>PHP (for the 3 Million existing PHP programmers) </li></ul></ul><ul><li>Java is positioned as the “system” language </li></ul><ul><ul><li>Mostly used to implement system extensions and application libraries </li></ul></ul><ul><ul><li>Entire applications can be written in Java, if desired </li></ul></ul><ul><li>PHP and Java components can directly invoke each other </li></ul><ul><ul><li>Easy integration and reuse of enterprise assets </li></ul></ul>
    15. 15. Rapidly Expose Data RESTfully Zero resource model enables developers with a simple programmatic and HTTP Data API <ul><li>Application data model </li></ul><ul><li>Constrained set of APIs encourage a RESTful application architecture </li></ul><ul><li>Data model that maps well into Atom feeds and JSON formats </li></ul><ul><li>Robust framework for persistence, validation, and serialization </li></ul>
    16. 16. Quickly Assemble Applications WebSphere sMash system design optimized for “zero” unneeded complexity <ul><li>Simplicity </li></ul><ul><li>No charge IDE’s provide a simple environment for constructing applications based on dynamic scripting languages. </li></ul><ul><li>Visual tooling makes it simple to create complex, rich, dynamic, data-centric Web 2.0 user interfaces based on Ajax. </li></ul><ul><li>Programming model and approach to configuration are optimized for keeping simple tasks easy, more complex tasks possible. </li></ul>
    17. 17. sMash Application Builder <ul><li>Browser-Based Development IDE </li></ul><ul><li>Built as a sMash application </li></ul><ul><li>Provides full development lifecycle for sMash applications </li></ul><ul><ul><li>Create, Edit, Test, Debug </li></ul></ul><ul><li>Provides Visual Editors for Activities and Web Page construction </li></ul><ul><ul><li>Including a DOJO-enabled page editor </li></ul></ul><ul><li>Basic Eclipse-based tooling also available if preferred </li></ul>
    18. 18. Agility in Dynamic Scripting – Groovy / PHP Variety of browser-based visual editing tools provide rapid time to value Dynamic Scripting Editor Visual UI Editor Visual Flow Editor Simplicity in constructing web pages (Javascript) Speed in scripting / assemble activities into a flow
    19. 19. An Optimized Runtime WebSphere sMash focuses on deploying applications, not servers <ul><li>Agility </li></ul><ul><li>Nimble execution </li></ul><ul><ul><li>Instant On - Application available for service in less than 1 sec </li></ul></ul><ul><li>Cost effective execution </li></ul><ul><ul><li>Memory and disk footprint minimal </li></ul></ul><ul><ul><li>Idle application footprint ~380 KB </li></ul></ul><ul><ul><li>Running application JVM ~28 MB </li></ul></ul><ul><li>Clean execution </li></ul><ul><ul><li>Applications are isolated and secured from each other </li></ul></ul><ul><ul><li>Graceful recovery, isolation, tolerates “bad” code </li></ul></ul><ul><ul><li>No state lost on restart </li></ul></ul>
    20. 20. Application Centric Runtime <ul><li>WebSphere sMash is an application-centric runtime </li></ul><ul><ul><li>You create an application and run it </li></ul></ul><ul><ul><li>You do not package an application and deploy it to a multi-application server </li></ul></ul><ul><ul><ul><li>Simple zip, copy, unzip when deploying to new host machine </li></ul></ul></ul><ul><ul><li>Each application runs in its own process (JVM) </li></ul></ul><ul><ul><li>Runtime is designed to be short lived </li></ul></ul><ul><li>WebSphere sMash is a full stack runtime </li></ul><ul><ul><li>Everything needed to run the application is provided by WebSphere sMash </li></ul></ul><ul><ul><ul><li>Including the HTTP stack </li></ul></ul></ul><ul><ul><li>No external proxy or web server is required </li></ul></ul>
    21. 21. Modular Architecture makes for more agile, more simply managed environment <ul><li>WebSphere sMash applications are based on a very small core </li></ul><ul><ul><li>5.4 MBytes (includes Groovy). </li></ul></ul><ul><ul><ul><li>PHP adds additional 17 Mbytes </li></ul></ul></ul><ul><ul><li>Core provides all of the framework and runtime support, including HTTP transport </li></ul></ul><ul><li>Additional features provided in downloadable modules </li></ul><ul><ul><li>Applications declare a dependency on desired features (using Ivy) </li></ul></ul><ul><ul><li>A package management system manages your dependencies, including: </li></ul></ul><ul><ul><ul><li>The ability to share dependencies on a machine </li></ul></ul></ul><ul><ul><ul><li>The ability to demand load missing dependencies from the network </li></ul></ul></ul><ul><ul><ul><li>The ability to manage updates to dependencies that you are using </li></ul></ul></ul>
    22. 22. WebSphere sMash Activities Developers visually “mash-up” services and feeds <ul><li>Assemble-style Development </li></ul><ul><li>Visually or programmatically combine existing feeds and REST services that enrich, sort, and filter data in a pipeline through “wiring” </li></ul><ul><li>Configure templates to alter pipeline routes, log events along the pipeline </li></ul><ul><li>Numerous built-in activities, including </li></ul><ul><ul><li>Get Feed, Call Service, Aggregate, Sort, Transform, Filter, Send Mail, XSLT, Conditionals, Loops </li></ul></ul>
    23. 23. Agenda <ul><li>Web 2.0 </li></ul><ul><li>Situational Applications </li></ul><ul><li>WebSphere sMash </li></ul><ul><li>WebSphere sMash with CICS examples </li></ul><ul><li> </li></ul>
    24. 24. Examples <ul><li>sMash with CICS Transaction Gateway. </li></ul><ul><li>sMash with Atom feeds from CICS </li></ul><ul><li>Generating REST resources using scripting within CICS – PHP SupportPac CA1S </li></ul>
    25. 25. Examples <ul><li>sMash with CICS Transaction Gateway. </li></ul><ul><li>sMash with Atom feeds from CICS </li></ul><ul><li>Generating REST resources using scripting within CICS – PHP SupportPac CA1S </li></ul>
    26. 26. sMash with CICS Transaction Gateway sMash application index.html book.php Library CTG CICS LIBRARY JZOS ECI Browser REST Java Bridge book.json CTG client
    27. 27. REST Primer. <ul><li>RESTful Design </li></ul><ul><ul><li>Collection Model </li></ul></ul><ul><ul><li>Action can be taken on the entire collection or a specified member of the collection </li></ul></ul><ul><ul><li>URI and HTTP method define the resource request </li></ul></ul><ul><li>REST and WebSphere sMash </li></ul><ul><ul><li>WebSphere sMash supports </li></ul></ul><ul><ul><li>URI and HTTP method define the collection resource model </li></ul></ul><ul><ul><li>Each script in the <apphome>/app/resources directory represents a resource handler </li></ul></ul><ul><ul><li>URL convention for interacting with resources based on </li></ul></ul><ul><ul><li>/resources/<collectionName>[/<memberID>[/<pathInfo>]] </li></ul></ul><ul><ul><li>where the actions are defined as follows: </li></ul></ul>HTTP Method URI Description GET /people List members POST /people Create member GET /people/1 Retrieve member PUT /people/1 Update member DELETE /people/1 Delete member Resource GET PUT POST DELETE Collection list putCollection create deleteCollection Member retrieve update postMember delete
    28. 28. Interacting with CICS Programs <ul><li>Build a Java object representation of your COMMAREA with JZOS </li></ul><ul><ul><li>JZOS is included in the IBM JDK for zOS </li></ul></ul><ul><li>Use the CTG Java Client Libraries </li></ul><ul><ul><li>From Groovy </li></ul></ul><ul><ul><li>From PHP via the Java Bridge </li></ul></ul>ADATA Java Class for COMMAREA ctgclient.jar PHP Java Bridge Compiler JZOS COBOL Source COMMAREA
    29. 29. CICS REST Service in PHP Import CTG and COMAREA classes Send Request to CICS Process Results
    30. 30. Example
    31. 31. Examples <ul><li>sMash with CICS Transaction Gateway. </li></ul><ul><li>sMash with Atom feeds from CICS </li></ul><ul><li>Generating REST resources using scripting within CICS – PHP SupportPac CA1S </li></ul>
    32. 32. ATOM support in CICS TS 4.1 URIMAP PATH(atom/*) ‏ USAGE(ATOM) ‏ ATOMSERVICE ATOMTYPE(FEED) ‏ STATUS(ENABLED) ‏ RESOURCENAME(FILEA) ‏ RESOURCETYPE(FILE) ‏ BINDFILE CONFIGFILE XSDBIND file <cics:atomservice type=&quot;feed“ <cics:feed cics:window=&quot;window-size&quot;> <cics:resource name=“FILEA&quot; type=“FILE“/> . . . <atom:feed xmlns:atom=&quot;;> . . . . <atom:content cics:resource=&quot;cics-resource-name&quot; cics:type=&quot;cics-resource-type&quot;/> </atom:feed> </cics:atomservice>
    33. 33. sMash with CICS Atom feeds sMash Application .html Situational Business Logic PHP or Groovy or Flow CICS FILE Browser REST .json ATOMSERVICE ATOM TSQ Program
    34. 34. Examples <ul><li>sMash with CICS Transaction Gateway. </li></ul><ul><li>sMash with Atom feeds from CICS </li></ul><ul><li>Generating REST resources using scripting within CICS – PHP SupportPac CA1S </li></ul>
    35. 35. CICS PHP: Interfacing with CICS CA1S supportPac HFS pipeline config URIMAP CICS TS V3 TCPIPSERVICE CPIH CWXN Requester URIMAP matching CSOL Pipeline RFPHNDLR HTTP JVM PHP Interpreter PIPELINE PHP Scripts PHP Script
    36. 36. PHP in CICS: Interacting with CICS Programs <ul><li>PHP in CICS has a Java Bridge </li></ul><ul><ul><li>Build a Java object representation of your COMMAREA with JZOS </li></ul></ul><ul><ul><li>LINK to your business program using the provided API </li></ul></ul><ul><ul><li>LINK, Syncpoint, and Rollback supported </li></ul></ul>CICS TS V3 PHP Script COBOL Source COBOL Program COMMAREA JZOS ADATA Load Module LINK Data to COMMAREA Data from COMMAREA Compiler 1 2 3 4 5 2 1 3 4 5 Generate ADATA from compiler (data layout info) Generate Java Data object using JZOS Set data in COMMAREA object LINK to business logic Get data from COMMAREA object
    37. 37. Summary of CA1S Features <ul><li>Handle HTTP requests with PHP code </li></ul><ul><li>Call CICS commarea programs from PHP </li></ul><ul><li>Access DB2 databases from PHP </li></ul><ul><li>Manage units of work from PHP (commit/rollback) </li></ul><ul><li>Use event handlers to easily create RESTful Web Services </li></ul><ul><li>Debug PHP scripts with Eclipse PDT </li></ul><ul><li>Access any Java classes from PHP code using the PHP/Java Bridge </li></ul>
    38. 38. sMash with CA1S CICS LIBRARY CA1S PHP sMash Application .html Situational Business Logic PHP or Groovy or Flow Browser REST .json REST
    39. 39. Agenda <ul><li>Web 2.0 </li></ul><ul><li>Situational Applications </li></ul><ul><li>Introducing WebSphere sMash </li></ul><ul><li>Demonstrations </li></ul><ul><li> </li></ul>
    40. 40. WebSphere sMash based on IBM’s Project Zero incubation effort <ul><li>Project Zero is the development and incubation community </li></ul><ul><ul><li>Live on the Internet since June 2007 </li></ul></ul><ul><li>Project Zero represents </li></ul><ul><ul><li>The people that build and use WebSphere sMash </li></ul></ul><ul><ul><li>The incubation of new technology </li></ul></ul><ul><ul><li>The community of 3 rd party assets that leverage the WebSphere sMash platform </li></ul></ul><ul><li>All released versions are called WebSphere sMash </li></ul> Community Site WebSphere sMash Based on Project Zero
    41. 41. Resources: <ul><li>WebSphere sMash - </li></ul><ul><ul><li>Project Zero - </li></ul></ul><ul><li>CA1S – PHP Support Pac </li></ul><ul><ul><li>More info about CA1S: phpOnCics </li></ul></ul><ul><ul><li>Video of CA1S: phpOnCicsVideo </li></ul></ul><ul><li>CA8k – Atom Support Pac </li></ul><ul><li>JZOS - </li></ul><ul><li>ATOM - </li></ul><ul><li>REST - </li></ul><ul><li>CICS Supportpac CA8K - </li></ul>
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.