• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Web 2.0 and the Geoweb Part 2: Web 2.0 Patterns

Web 2.0 and the Geoweb Part 2: Web 2.0 Patterns



Part 2 of a 4 part series exploring Web 2.0 and the Geoweb. This short series of lectures is part of the "Introduction to Geoweb" course offered at the University of Colorado at Denver. Previous ...

Part 2 of a 4 part series exploring Web 2.0 and the Geoweb. This short series of lectures is part of the "Introduction to Geoweb" course offered at the University of Colorado at Denver. Previous experience with generic web architectures and http is assumed. Full context is available at http://blog.gishacks.com/2009/08/web-20-and-geoweb-part-2-web-20.html.



Total Views
Views on SlideShare
Embed Views



5 Embeds 286

http://feeds2.feedburner.com 211
http://blog.gishacks.com 35
http://blog.mapvibes.net 35
http://www.slideshare.net 4
http://translate.googleusercontent.com 1


Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment
  • 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

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

  • Web 2.0 PatternsShaping the Geoweb
    Introduction to the Geoweb
    Gregory L. Gunther
    University of Colorado at Denver
  • Common Web 2.0 Patterns Influencing the Geoweb
    Service Oriented Architecture (SOA)
    Software as a Service (SaaS)
    Asynchronous Particle Update
    Rich User Experience
    Collaborative Tagging
    Structured Information
    Formulated By Real Examples….
  • Pattern Formulation
    Derived Requirements
    Business problem (story)
    Specifications, static structure, dynamic behavior
    Business problem resolved
    Known use
    (Govenor et al. 2009)
  • 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)
  • 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)
  • Classic SOA Reference Model
    SOAP and WSDL
    (King, 2006)
  • SOA Dynamic Behaviors Refined
    Request/Response Via Registry
    (Govenor et al. 2009)
  • 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”
  • SOA Implementation
    (SOA Tag Cloud, 2009)
  • REST
    (Richardson, 2007. Govenor et al. 2009)
    Resource Oriented Architectures
    Asynchronous Particle Update
  • Software as a Service (SaaS)
    Rules Collector
    Spam Filtering Software
    (Govenor et al. 2009)
  • Web GIS and the Cloud
    The web IS the platform
    (Morehouse et al. 2009)
  • Participation-Collaboration
  • (Govenor et al. 2009)
  • Asynchronous Particle Update (AJAX)
    Length of time
    Blocked from further
    Network Latency
    (Crane et al. 2006)
  • 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
    File System manager
    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)
  • Web Application LifeCycle
    Just Views
    Of the User and Application
    Data Model
    Initial Data
    And Application
    (Crane et al. 2006)
  • (Crane et al. 2006)
  • (Crane et al. 2006)
  • Mashup
  • Web Browser
    CSS Styling
    (If Applicable)
    Web Server
    JavaScript Logic
    XML HTTP Request
  • User
    Request Page
    Map Data
    XML Data
    Return Page
    Page Loaded
    Request and Get XML
    Request and Get Map
  • Rich Internet Application
    MS Silverlight
    Flex 3 Component Explorer: http://tinyurl.com/2o78vd
  • Collaborative Tagging
    “users add metadata in the form of keywords to shared content “
  • Structured Information
    Semantic XHTML
    (Microformat. 2009)
  • Additional Patterns
    Constant Beta
    The Synchronized Web
    Declarative Living and Tag Garderning
    Semantic Web Grounding
    Persistent Rights Management
  • 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
    Ease of use
    Security and privacy
  • Web 2.0 and the Geoweb
    Web as platform
    Continuous improvement
    Lightweight programming models and techn0logies
    Immersive (social, RIA)
    GIS 2.0
    Law 2.0
    Gov 2.0
    Library 2.0
    Media 2.0
    (Govenor et al. 2009)
  • 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.
  • 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.