Service Orientation - Chief Information Officer

bevyquixoticΑσφάλεια

3 Νοε 2013 (πριν από 4 χρόνια και 1 μήνα)

99 εμφανίσεις

Connecting People With Information

Service Orientation

For further information email OSD at:
COI_HelpDesk@osd.mil

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 Strategy

May 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

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!

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….


ScanL
ife

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 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

Service

Implementations

START

HERE

Enables

Community

Information Exchange

Vocabulary

Capability

Delivery





Drives

Info

Sharing

Need





Drives

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

Check

ammunition

status

Place and

confirm order

with supplier

Munitions run low.

Request supply

Is it

in stock

elsewhere?

Depot

Services

Business Process: Munitions supply

1

2

3

4

Services 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

AMPS

Service

Adapter(*)

Service

Adapter

FBCB2

Guard

Service

Adapter(*)

WEB

Federated DDS Nodes

Consumers

Web Services Info Grid



Advertise




Publish



Subscribe



Deliver

Ad

P

S

D

CPOF/MCS

Service

Adapter

C2PC

Service

Adapter

DDS

DDS

DDS

DDS

USMC

Service

Adapter

USN

Service

Adapter

USA

Service

Adapter

USAF

Service

Adapter

Multi
-
National

Service

Adapter

15

Example “Mashups”

Mashups 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

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


18

http://pipes.yahoo.com


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

20

Crime Mashups (e.g.
www.chicagocrime.org
,
www.crimeinDC.org
)


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.

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.

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 10
th

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

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

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.

26

Backups


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 problem

2.
Check to see if a service exists to meet your need. If not…

3.
Specify the services you are going to develop

4.
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/practical

5.
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

31

Request / Response Architecture

Service

Provider

Service

Consumer

Request

Response

32

Service Brokering

Service

Provider

Service

Consumer

Service

Broker

33

Service

A

Web services swapping roles during a
conversation (Request/Response)

Service

B

“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”

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


39

http://gmapsflighttracker.com/

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


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