Web 2.0 and the Geoweb Part 2: Web 2.0 Patterns

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Notes on slide 1

    Patterns Recurring solutions to recurring problemsGang of 4: 1995 book on design patterns for OO softwareRepresent knowledge and provide a way to convey information on how something is really going on in a systemGreat tool in requirements gathering: help define boundaries to the solutionRepurpose existing things into new thingsPattern of YouTube be applied to music production and distributionTwitter pattern applied to real time 3D sensors or sports athletesMethodology for documenting patterns: metamodel variation of Mackenzie-Nickull Architectural Patterns Meta-ModelFundamentally decomposed to the context of the problem: circumstances affecting the problemthe problem itself: usually expressed as a user storysolution

    Also known as event drive architecture. Subset of which is Resources Oriented Architecture.Examples we looked at that implement this pattern includes really all of them

    Simplicity: Grass Roots implementation, REST, Barrier to entry for integration = lowLoose coupling:IT term meaning that the internals of an application or business service must be able to change without impacting client applicationsSpecifically, a service consumer should not be required to know any more about a service than what is contained in the published contractLoose coupling means messages Not Just Technology:Policies, practices and frameworks

    When ordering from a menu a list of restaurant services you have a predefined set of choices: main dishes, side dishes, desserts, etc…You have choices but usually don’t tell the chef how to prepare the mealThe chef receives the message (your order), prepares the food, delivers it according to the menu description (contract)The menu is a directory of choices, each choice showing the descriptions and specifications for that item

    Traditional RPC architectureService Providers: Provide a service that performs a business function (geocoding, overlay, identify)ProvidersCreate the serviceExpose the service for useDescribe the servicePost the contract to registryService Consumers:Can be other services, components, or full fledged web applicationsServices don’t interact directly with humans, so consumer isn’t a web page userConsumers don’t design or debug services, they just use them as isExpect predictable results based on contractRegistries (Catalogs, Discovery Agencies, Service Broker) Provide mechanism for storing, managing, and accessing service contractsBased on UDDI (for the most part)Registry serves as directory of sorts containing:Names of servicesDescription of servicesService contractsmetadataMessaging (WSDL, UDDI, SOAP)

    Request/Response With Registry: SubScribe/Push: Client subscribes to a service, RSS feedsProbe/Match: Client “broadcasts” to several service endpoints, prompting them to respond in a certain wayExample: Bunch of servers being testing in a server farm to see if they can handle more traffic.

    SOAP – Simple Object Access ProtocolXML– Extensible Markup LanguageWSDL – Web Service Description LanguageUDDI—Universal Description, Discovery and Integration LanguageTaking an xml document or payload, wrapping it in some messaging content and SOAPBig Web Service

    Implementation:Talked about xml, SOAP, HTTP WSDL, UDDI but it really is a nightmareFor us it boils down to REST and its underlying technologies (Resource Oriented Architecture)

    SOA Implementation as it relates to the GeowebMore in a later unit but more or less, it is web services based on how the web really worksRepresentational State Transfer2000doctoral dissertation about the web written by Roy Fielding, one of the principal authors of the HTTP protocol specification, and has quickly passed into widespread use in the networking community No messaging or wrappers just HTTP goodness (Get, Post, Delete, Update)Grass Roots, Alternative to “Big Web Services”85% of Amazon’s web services users are REST users

    Also Known as cloud computingSoftware is maintained and deployed by its manufacturer, manufacture maintains the infrastructural resources for software functionalityUsers “rent” functionality or use softwares functionality but don’t incure overhead related to its maintenance, upkeep, etc…Model of “functional delivering” vs. “software distribution”Email filter exampleSpam is a problem everyone deals with, filtering spam evolves hourly (Viagra, V!agra)Each user or Enterprise doesn’t want to support the infrastructure, software maintance etc to filter this.Spam filter service used, delivers email, learns from users who report spamGreat example of web2.0  software gets better as its used, better rules are developed.

    The platform is the web.Not just leveraging the web delivery, content distribution of sharing but in the platformRunning the computing functionality in the web (not servers or desktops)Data storage, processing, hosting, client applications (entire stack application, storage and compute)Grid computing“time-sharing”Examples: ArcGIS Online, Salesforce.com

    Also Known as:Harnessing Collective Intellegence (harnising work from everyone which is combined into larger work)“Participatory Design” – design process where the users get involved with the design“Crowdsourcing:”—outsourcing to the crowd via open callFundamental to Oreilly’s initial definition of web2.0“while providing their own data and services in a form that allows remixing by others, creating network effects through an "architecture of participation," “This includes explicit network-enabled collaboration, to be sure, but it should encompass every way that people connected to a network create synergistic effects.”WikipediaMusic remixing exampleTime Magazine’s Person of the Year in 2006 Web 2.0 and you.All of the examples from before

    Illustrating the power of collective intelligence with mainstream mediaNewspapers shutting downHealthcare reform bill and town hall meetings (youtube videos)

    Also known as AJAXAJAX stands for Asynchronous JavaScript And XML.AJAX has been around, made popular by Google (maps.google.com)AJAX no a language, technique using a variety of technologies (DOM, DHTML, Javascript, XML).With AJAX you can create better, faster, and more user-friendly web applications.AJAX is based on JavaScript and HTTP

    Term Originating from the music industry (mashing up different styles of music to create a new style)DJ mixesReggae from sca and popFrom an it perspective, same thing, mashing up services or capabilities from disparate locations to create an entirely new service or applicationUsually accomplished at the client end of the web architecture, using lightweight apisExample insurance agencyWants to provide adjusters maps with variety of data that influence insurance claims (flood potentional, demographics, etc…)Doesn’t want to maintain or house needed infrastructure, DM etc to expose those layersCreate client application that “mashes up” several services or maps to create fully functional end appHeavily reliant on previously mentioned patterns (SOA, AJAX) and often is used in SaaS (mashup content on blog from flickr, slideshare) not even done via apiContent repurposing

    Also Known as rich user experienceRich Internet applications (RIAs) are web applications that have most of the characteristics of desktop applications, typically delivered by way of standards based web browserplug-ins or independently via sandboxes or virtual machines[1]. Examples of RIA frameworks include Curl, Adobe Flash/Adobe Flex/AIR, Java/JavaFX[2], uniPaaS[3] and Microsoft Silverlight[4].The term was introduced in March 2002 by vendors like Macromedia who were addressing limitations at the time in the "richness of the application interfaces, media and content, and the overall sophistication of the solutions" by introducing proprietary extensions[5].Demo Flex Component Explorer

    Also Known as folksonomyRecall back to our flickr example, users within the community actually can help to catagorize contentAlso, arcgis online tagging of contentGround up sematic tagging (providing meaning to internet resources)Tag: apply label to object or resources, labeling it so we know what it represents,Resource: catchall for any digital asset that can have an identifier (usually a uri), webpage, audio file, comment, bookmarkEntity: is any human, application, bot, process that is capable of interacting with a resourceCommunity based, natural language semantic layer: useful when trying to discover resourcesBased on user perspective: dog, pooch, labradorProblem: Ambiguous nature of natural language: Washington yeilds “George Washington, Denzel, Washington State U” etc. Work is underway to deal with disambiguate these pluralities.

    XHTML (XML goodness) HTML with semantic significance not presentationEssentially: Using attributes to assign a semantic significance to an already abundant format, xhtml

    Effects everything in our societyLines of business are being done differently because of these patternsGov 2.0: Transparency, taxpayer participation in government (our website content)Library 2.0: Rather than top down categorization, bottom up (collaborative tagging)Media 2.0: Newpapers are dieing, free targeted ads, contributors to media (bloggers) by community much larger than traditional media

    2 Favorites

    Web 2.0 and the Geoweb Part 2: Web 2.0 Patterns - Presentation Transcript

    1. Web 2.0 PatternsShaping the Geoweb
      Introduction to the Geoweb
      Gregory L. Gunther
      University of Colorado at Denver
    2. Common Web 2.0 Patterns Influencing the Geoweb
      Service Oriented Architecture (SOA)
      Software as a Service (SaaS)
      Participation-Collaboration
      Asynchronous Particle Update
      Mashup
      Rich User Experience
      Collaborative Tagging
      Structured Information
      Formulated By Real Examples….
    3. Pattern Formulation
      Pattern
      Context
      Derived Requirements
      Problem
      Business problem (story)
      Context
      Generalized
      Specifications, static structure, dynamic behavior
      Consequences
      References
      Business problem resolved
      Implementations
      Known use
      (Govenor et al. 2009)
    4. Service Oriented Architecture
      “is an architectural paradigm, a way of architecting a framework for matching
      needs and capabilities. A key feature of SOA is support for integrating
      services that are owned and managed independently” (OASIS 2006)
      No single definition (ubiquitous, depends on context)
      Standardized framework or software architecture which implements interoperable software components (web services)
      SOA brings a new way to look at applications
      Separates messages from processing
      Provides consistent platform for interoperability
      (Govenor et al. 2009)
    5. Principles of SOA
      Simplicity (At least now)
      Loose Coupling
      • Separates messages from processing
      • Reusable, modular
      • Facilitates integration, eliminates stovepipe barriers
      • Not just technology
      (King, 2006, ESRI 2007)
    6. Classic SOA Reference Model
      SOAP and WSDL
      (King, 2006)
    7. SOA Dynamic Behaviors Refined
      Request/Response Via Registry
      Subscribe/
      Push
      Probe/Match
      (Govenor et al. 2009)
    8. Quick Word On SOAP
      “is a protocol for exchanging XML-based messages over computer networks, normally using HTTP. SOAP forms the foundation layer of the Web services stack, providing a basic messaging framework that more abstract layers can build on”
      Envelope Format: A way of putting data into an envelope
      “Big Web Services”
    9. SOA Implementation
      (SOA Tag Cloud, 2009)
    10. REST
      (Richardson, 2007. Govenor et al. 2009)
      HTTP
      XML/JSON/GeoRSS
      Resource Oriented Architectures
      Mashups
      Asynchronous Particle Update
    11. Software as a Service (SaaS)
      Rules Collector
      Client
      Spam Filtering Software
      Client
      Email
      Client
      (Govenor et al. 2009)
    12. Web GIS and the Cloud
      http://www.esri.com/events/uc/images/workshops/cloud.html
      The web IS the platform
      (Morehouse et al. 2009)
    13. Participation-Collaboration
    14. (Govenor et al. 2009)
    15. Asynchronous Particle Update (AJAX)
      Length of time
      Blocked from further
      Input
      Time
      Network Latency
      Problem
      (Crane et al. 2006)
    16. Concepts related to software usability
      Based on usability expert Alan Cooper
      Transient: used everyday but only in short burst and often as a secondary activity
      Delays are tolerated
      Examples
      File System manager
      Amazon
      Search Engines
      Sovereign: requires users full attention
      Used more intensely
      Desktop applications
      Delays become intolerable (2 second delay each time you type a letter in a Word Processor
      Sovereign and Transient Usage Patterns
      (Crane et al. 2006)
    17. Web Application LifeCycle
      Just Views
      Of the User and Application
      Data Model
      Traditional
      Initial Data
      And Application
      Download
      (Crane et al. 2006)
    18. (Crane et al. 2006)
    19. (Crane et al. 2006)
    20. Mashup
    21. Web Browser
      www.google.com
      CSS Styling
      (If Applicable)
      Web Server
      (www.gishacks.com)
      DOM
      JavaScript Logic
      Map
      Data
      XML
      Data
      GXmlHttp
      XML HTTP Request
      (AJAX)
      Mashup
    22. User
      gishacks
      server
      google
      server
      Request Page
      API
      Map Data
      XML Data
      Return Page
      Page Loaded
      Request and Get XML
      Request and Get Map
    23. Rich Internet Application
      ADOBE FLEX
      JavaFX
      MS Silverlight
      Flex 3 Component Explorer: http://tinyurl.com/2o78vd
    24. Collaborative Tagging
      “users add metadata in the form of keywords to shared content “
    25. Structured Information
      POSH
      Semantic XHTML
      vCard
      MICROFORMATS
      hCard
      GEO
      hCalendar
      (Microformat. 2009)
    26. Additional Patterns
      Constant Beta
      The Synchronized Web
      Declarative Living and Tag Garderning
      Semantic Web Grounding
      Persistent Rights Management
    27. Conclusions
      Bottom-up prevails while top down does not.
      REST vs SOAP
      Folksonomyvs Taxonomy
      Crowdsourced vs. traditional media
      Time Magazine person of theYear 2006— You!
      Systems get better the more people use them
      The web is the system platform
      Persistence of Web 2.0
      Architectures and platforms where people can participate beat websites
      Plug-in business models
      Simplicity and scalability
      Agility
      Ease of use
      Security and privacy
    28. Web 2.0 and the Geoweb
      Web as platform
      Continuous improvement
      Lightweight programming models and techn0logies
      Immersive (social, RIA)
      YOU
      Geoweb
      GIS 2.0
      Law 2.0
      Gov 2.0
      Library 2.0
      Media 2.0
      (Govenor et al. 2009)
    29. References Cited
      Crane, Dave, Eric Pascarello and Darren James (2006). AJAX in Action. Connecticut: Manning Publishing.
      ESRI. (2007). Geospatial Service Oriented Architectures. ESRI Whitepaper. http://www.esri.com/library/whitepapers/pdfs/geospatial-soa.pdf
      Governor, James, Dion Hunchcliffe and Duane Nickull (2009). Web 2.0 Architectures. California: O’Reilly Media Inc.
      King, JJ. SOA What? Introduction to Service Oriented Architecture. Rocky Mountain Oracle Users Group. Denver, 2006.
    30. References Cited
      Microformat. (2009, August 13). In Wikipedia, The Free Encyclopedia. Retrieved 07:50, August 13, 2009, from http://en.wikipedia.org/w/index.php?title=Microformat&oldid=307705991
      Morehouse, Scott, Gorter, Dirk and Brenda Wolfe. 2009, Taking Advantage of The Cloud, ESRI 2009 International Users Conference, San Diego, CA, San Diego Convention Center.
      OASIS. (2006). Reference Model for Service Oriented Architecture 1.0.http://www.oasis-open.org/committees/download.php/19679/soa-rm-cs.pdf
      Richardson, Leonard, Ruby,Sam (2007). RESTful Web Services California: O’Reilly Media Inc.
      SOA Tag Cloud. Swik.com. 09 August 2009 http://swik.net/SOA?tagCloud.

    + Government/CU DenverGovernment/CU Denver, 3 months ago

    custom

    347 views, 2 favs, 1 embeds more stats

    Part 2 of a 4 part series exploring Web 2.0 and the more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 347
      • 324 on SlideShare
      • 23 from embeds
    • Comments 0
    • Favorites 2
    • Downloads 16
    Most viewed embeds
    • 23 views on http://blog.gishacks.com

    more

    All embeds
    • 23 views on http://blog.gishacks.com

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories