connecting people with information service orientation for further information email osd at:...
TRANSCRIPT
Connecting People With Information
Service Orientation
For further information email OSD at: [email protected]
Version 08.4
DoD Net-Centric Data Strategy (DS) and Community of Interest (COI) Training
2
Purpose/Outline
• Purpose: To provide context for the importance of services in the DoD’s Net-Centric Strategies, e.g.,– Demonstrate how data (via services) can be combined in
innovative ways to create new value-added capabilities
• Outline – Definition of Terms– Examples of Services– Service Oriented Architecture– Motivators for Adoption– Identifying Potential Services for a Pilot– Example “Mashups”
3
What is a Service?
Service:
“A mechanism to enable access to one or more capabilities, where the access is provided using a prescribed interface and is exercised consistent with constraints and policies as specified by the service description.”
DoD Net-Centric Services StrategyMay 2007
Corollary: A capability may be realized through the execution of one or more services
• Characteristics of services– Modular (able to be composed, much like building blocks)
– Network-accessible
– Reusable
– Standards-based
– Distributed capabilities
4
Who is Using Services?
By show of hands…
• Banking– How many of you pay bills online?
• Directions– Who uses MapQuest or Google Maps for directions?
• Travel– Who uses Travelocity, Priceline, or KAYAK?
Many of us are using software services everyday Many of us are using software services everyday
5
Case Study: Online Banking
• Online banking, Quicken, Microsoft Money
– Ability to view multiple accounts, pay bills, and transfer funds from a variety of applications and interfaces
– Open Financial Exchange (OFX) – http://www.ofx.net Specification for the electronic exchange of financial data between
financial institutions, business and consumers via the internet Specification created by CheckFree, Intuit, and Microsoft in early
1997 As of May 2006, OFX supported by over 3500 banks and
brokerages Leverages open standards: XML, TCP/IP, HTTP, and SSL
• Revolutionized existing business processes. Banks have become more virtualized
Here is a real world example of a COI in action…A net-centric information sharing approach led to a revolution in the way people and organizations do their banking
services + open standards + community specification + over 3500 adopters = TRANSFORMATION!
Here is a real world example of a COI in action…A net-centric information sharing approach led to a revolution in the way people and organizations do their banking
services + open standards + community specification + over 3500 adopters = TRANSFORMATION!
6
Case Study: Amazon.com
• Amazon E-Commerce Service (ECS) exposes Amazon's product data and e-commerce functionality
– Allows developers, web site owners and merchants to leverage the data and functionality that Amazon uses to power its own e-commerce business
• With ECS, developers can add rich content and powerful capabilities to Web sites and applications by using the following features:
– Detailed Product and Pricing Information on Amazon.com– Access to Amazon.com Product Images – All Customer Reviews associated with a Product – Access to Amazon.com’s “Advanced Search”– Remote Shopping Cart – Amazon Wish List Search
• Amazon Associates Program – Amazon.com's affiliate marketing program– Associates drive internet traffic to Amazon.com via services that allow Amazon to track
sales and other activity– Associates earn up to 10% in referral fees on all qualifying revenue made through their
links
7
Case Study: Amazon.com (example usage)
Using Amazon E-Commerce Service….• ScanLife provides a
convenient mobile shopping technology that enables customers to check Amazon.com prices instantly on their cell phone.
http://www.scanbuyshopper.com
8
Case Study: PayPal
• eCommerce business that allows payments and money transfers to be made over the Internet– Performs payment processing for online vendors, auction sites,
and other corporate users
• PayPal provides service interfaces for processing credit card payments, sending money, receiving money, refunding transactions, searching transaction histories, etc
PayPal is an example of a machine-to-machine servicePayPal is an example of a machine-to-machine service
9
What is a Service Oriented Architecture (SOA)?
• An architectural style– NOT a product– NOT a bunch of web services
• An architecture based on flexibly linked software components that leverage web standards and services
• Formal Definition*: Service Oriented Architecture is a paradigm for organizing and utilizing distributed capabilities that may be under the control of different ownership domains
* Taken from OASIS Reference Model for Service Oriented Architecture 1.0
10
Why an SOA?
• Results in an explosion of capabilities for our warfighters and decision makers
• Provides more agility
• Provides the building blocks for a net-centric information sharing environment
11
Drives
Enables
Process for Developing Services
Data Needed
Data Needed
Service Implementations
Service Implementations
STARTHERE
STARTHERE
STARTHERE
Enables
Community Information Exchange
Vocabulary
Community Information Exchange
Vocabulary
Capability Delivery
Capability Delivery
Drives
InfoSharing
Need
InfoSharing
Need
Drives
Service Needed
Service Needed
12
Identifying Potential Services for a Pilot
• Identify information sharing needs • Analyze business processes – current & desired
– Identify processes for service insertion– Bias toward creating enterprise services
• Questions to consider– What business services do you provide now?– What business services will you provide in the future?– What data do people ask you for most?– What are your organization’s core competencies?– Where does your organization overlap with other efforts?
Potentially identifies a common service
13
Identifying Potential Services
Source: modified from original in DOD Net-Centric Services Strategy (DRAFT, May 2007); page 2
Request ammunition Get Inventory Count Place Order
Checkammunition status
Place and confirm order with supplier
Munitions run low.Request supply
Is itin stock
elsewhere?
Depot
Services
Business Process: Munitions supply
11 22
33
44
Services align with business processesServices align with business processes
14
Identifying Potential Services
• Consider Blue Force Tracking (BFT)• Despite advances, stovepipes still exist; fratricide still
occurs• By publishing Blue Force positions authorized users can
subscribe and identify friendly positions
Authoritative Sources
Ad
P
Ad
D
AMPSAMPS
D
ServiceAdapter(*)
ServiceAdapter
FBCB2FBCB2
Guard
ServiceAdapter(*)
WEBWEB
Federated DDS Nodes
Consumers
Web Services Info Grid
Advertise
Publish
Subscribe
Deliver
Web Services Info Grid
Advertise
Publish
Subscribe
Deliver
Ad
P
S
D
S
S
AdP
Ad
D
CPOF/MCSCPOF/MCSServiceAdapter
C2PCC2PC
ServiceAdapter
DDS DDS DDS
DDS
USMC
ServiceAdapter
USN
ServiceAdapter
USA
ServiceAdapter
USAF
ServiceAdapter
Multi-National
ServiceAdapter
D
15
Example “Mashups”
Mashups are an example of an aggregation serviceMashups are an example of an aggregation service
• We have provided an overview of SOA and the motivation for its adoption
• We have discussed how you might identify potential services for a pilot
• We will now consider a few example internet “mashups”
• Mashups illustrate the types of new, innovative services that can be developed when data is visible, accessible, and understandable over the web
16
Mashups
• “A mashup is a website or application that combines content from more than one source into an integrated experience.” – Wikipedia (http://en.wikipedia.org/wiki/Mashup_(web_application_hybrid)
• http://www.programmableweb.com/ has a list of over 3,000 mashups from various sources
• The following slides present some examples of different mashups
Mashups assume the visibility, accessibility, and understandability of data and services
Mashups assume the visibility, accessibility, and understandability of data and services
17
Examples
• http://www.programmableweb.com– Maintains a listing of different mashups
• http://pipes.yahoo.com– Demonstrates how disparate RSS feeds can be graphically joined together to produce new and innovative
RSS services• www.google.com/ig
– Demonstrates discovery of portlets that provide customizable views for end users• www.zillow.com
– Estimates home valuations using publicly available information such as comparables and tax information; overlays estimates on top of each house on a map
• Crime mashups (e.g. http://chicagocrime.org, http://crimeinDC.org )– Display crime incidents within a localized region over a period of time
• http://mapsexoffenders.com– Aggregates registered sex offender information from state databases and overlays residence locations
onto Google Maps• http://weathermole.com/WeatherMole/index.html
– The weather forecast component is from NOAA's Experimental National Digital Forecast Database XML Web Service and the map component is from Google Maps
• http://gmapsflighttracker.com/– Displays flight locations on top of Google Maps for several US airports
• http://www.findmesomewifi.com/– Locates wifi hotspots around the world quickly and easily by consulting a very large database of wifi
hotspots and integrating that data with Google Maps • https://caernarfon.spawar.navy.mil/mdads/
– CAC required– Displays data from Automatic Identification System (AIS) aggregation centers (USCG, Navy, Office of
Naval Intelligence, and Dept of Transportation) onto Google Earth or Google Maps.
Found many of these with a simple five minute search on http://www.programmableweb.com
Found many of these with a simple five minute search on http://www.programmableweb.com
18
http://pipes.yahoo.com
Demonstrates how disparate RSS feeds can be graphically joined together to produce new and innovative RSS services
Demonstrates how disparate RSS feeds can be graphically joined together to produce new and innovative RSS services
19
Zillow (http://www.zillow.com)
Estimates home valuations using publicly available information such as comparables and tax information and overlays estimates
on top of each house on a map
Estimates home valuations using publicly available information such as comparables and tax information and overlays estimates
on top of each house on a map
20
Crime Mashups (e.g. www.chicagocrime.org, www.crimeinDC.org)
Display crime incidents within a localized region over a period of time
Display crime incidents within a localized region over a period of time
21
GlobalIncidentMap.com
Ability to sort by type of incident,
date, location, etc.
Ability to sort by type of incident,
date, location, etc.
Listing of bomb-related events between 14 Feb 08
and 15 Feb 08
Listing of bomb-related events between 14 Feb 08
and 15 Feb 08
Worldwide threats and incidents: airport, chemical, bridge, railway, bombs, etc. It also has links to related news stories and a searchable database.
Worldwide threats and incidents: airport, chemical, bridge, railway, bombs, etc. It also has links to related news stories and a searchable database.
22
Portable Flight Planning Software (PFPS) Google Earth Tool
• A free conversion utility that interfaces between US military PFPS software and Google Earth
• Privately developed by Capt Mark Jacobsen– C-17 pilot with 10th Airlift Squadron
• He was inspired to write the software while on Operation Enduring Freedom (OEF) deployment– Squadron used Google Earth for visualization of airdrops in
Afghanistan
• Users can use the utility to create and edit waypoints, threats, and different kinds of airspace
• http://www.googleearthpilot.com/
Allows pilots to quickly and easily visualize their flight-plan routes in Google Earth. Other uses: airspace management, threat plotting and
avoidance, and target/drop zone visualization
Allows pilots to quickly and easily visualize their flight-plan routes in Google Earth. Other uses: airspace management, threat plotting and
avoidance, and target/drop zone visualization
23
This is a Google Earth screenshot, showing the capabilities of PFPS Google Earth Tool. It shows several types of objects that the user can create.
Flight Corridor
Flight route
Cylindrical airspace volumes to encompass local airfields
Restricted Areas
24
Maritime Domain Awareness Data Sharing Community of Interest (https://mda.spawar.navy.mil/)
Displays Automatic Identification System (AIS) data from US Coast Guard, Navy, and Dept of Transportation onto Google Earth
Displays Automatic Identification System (AIS) data from US Coast Guard, Navy, and Dept of Transportation onto Google Earth
25
Summary
• Making your data visible, accessible, and understandable via services enables mashups, aggregation and innovative value-added capabilities– Without going through JCIDS, PPBE and large acquisitions!– Without a $100M contract!
• By exposing your data, you are enabling innovation– You may not even realize the impact you will have– You may enable the next great mashup
Expose data. Enable innovation.Expose data. Enable innovation.
27
DoD Net-Centric Services Strategy Recap
• A strategy for a net-centric information sharing, service-oriented DoD Enterprise
• Four Goals:– Provide Services: Make information and functional capabilities
available as services on the network– Use Services: Use existing services to satisfy mission needs
before creating duplicative capabilities– Govern the Infrastructure and Services: Establish the policies
and processes for the single set of common standards, rules, and shared infrastructure and services throughout the DoD Enterprise to ensure execution enables interoperability
– Monitor and Manage Services via GIG NetOps: Implement services in accordance with DoD’s GIG NetOps Strategy and Concept of Operations (CONOPS) to ensure situational awareness of the net-centric information sharing environment
28
Process for Developing Services
1. Identify an information sharing problem2. Check to see if a service exists to meet your need. If not…3. Specify the services you are going to develop4. Develop an architectural approach
• Determine the appropriate information interaction model• Request / Response (e.g., SOAP)• Publish / Subscribe (e.g., NCES Messaging Service)• Notification followed by Request / Response • Consider data access constraints
• Use Core Enterprise Services where possible/practical5. Implement services and provide them to the enterprise
• Make services visible• Register services in the enterprise service registry to aid discovery
• Make services accessible• Users need to discover and access them in a timely, secure, and effective manner• Use NCES core security services where possible to ensure widest possible access
is supported• Make services understandable
• NCES will provide a Service Specification Template (SST) to descibe services
29
Service-Oriented Architectural Design Patterns
COI s can employ several different architectural approaches when providing and consuming services
– Publish/Subscribe (Pub/Sub)
– Request/Response
– Service Brokering
30
M M
M M M
Publish/Subscribe (Pub/Sub) Architecture
Publisher Publisher
Consumer Consumer Consumer
Bus
Publish Publish
Subscribe Subscribe Subscribe
M = Messages
M M
M M M
33
ServiceA
Web services swapping roles during a conversation (Request/Response)
ServiceB
“Could you do this for me?”
Now, I act like a
client
Now, I act like a
server
Now, I act like a
server
Now, I act like a
client
“Ok, I’ll get right on it.”
“Now I need you to do something”
“Yeah, alright. I’ll take care of it.”
Source: Erl, Thomas. Service Oriented Architecture: A Field Guide to Integrating XML and Web Services. Page 51
34
Pub/Sub vs Request/Response
• Neither is better than the other, per se– Each has it’s own strengths and design considerations
• Some situations are better suited for Pub/Sub– Time sensitive data– Dynamic data that changes frequently– Large numbers of consumers– Alerts and broadcasts
• Other situations are better suited for Request/Response– Sensitive information– Smaller number of consumers– Data may not be as time-sensitive– Large data sets
• Some situations use a hybrid approach– NCES Messaging
Message bus is Pub/Sub but interfaces to the bus are currently request/response
– RSS Behaves like Pub/Sub but actually implemented with request response
35
Tight vs Loose Coupling
Source: Krafzig, Banke, Slama. Enterprise SOA: Service-Oriented Architecture Best Practices. 2005.
* Note: table items in italics modified slightly from original
Level Tight Coupling Loose Coupling
Physical coupling Direct physical link required Physical intermediary
Communication Style Synchronous Asynchronous
Semantics* Interface semantics* Payload semantics*
Interaction pattern OO-style navigation of complex object trees
Data-centric, self-contained messages
Control of process logic
Central control of process logic
Distributed logic components
Service discovery and binding
Statically bound services Dynamically bound services
Pattern dependencies Strong OS and programming language dependencies
OS and programming language independent
36
http://www.programmableweb.com/
Maintains listing of different “mashups”Maintains listing of different “mashups”
37
www.google.com/ig
Demonstrates discovery of portlets that provide customizable views for end users
38
http://www.mapsexoffenders.com
Aggregates registered sex offender information from state databases and overlays residence locations onto Google Maps
Aggregates registered sex offender information from state databases and overlays residence locations onto Google Maps
39
http://gmapsflighttracker.com/
Displays flight locations on top of Google Maps for several US airports
Displays flight locations on top of Google Maps for several US airports
40
http://weathermole.com/WeatherMole/index.html
The weather forecast component is from NOAA's Experimental National Digital Forecast Database XML Web Service and the map component is
from Google Maps
The weather forecast component is from NOAA's Experimental National Digital Forecast Database XML Web Service and the map component is
from Google Maps
41
http://www.findmesomewifi.com/
Locates wifi hotspots around the world quickly and easily by consulting a very large database of wifi hotspots and integrating that data with
Google Maps
Locates wifi hotspots around the world quickly and easily by consulting a very large database of wifi hotspots and integrating that data with
Google Maps