bja regional information sharing conference ... · what is soa? soa is an architecture approach for...

32
BJA Regional Information Sharing Conference – Implementation Strategies and Emerging Standards for SOA Presented by Kael Goodman Jacksonville, FL June 6, 2007

Upload: others

Post on 29-Jul-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BJA Regional Information Sharing Conference ... · What is SOA? SOA is an architecture approach for organizing and using services to support interoperability between enterprise data

BJA Regional Information Sharing Conference – Implementation Strategies and Emerging Standards for SOA

Presented by Kael Goodman

Jacksonville, FLJune 6, 2007

Page 2: BJA Regional Information Sharing Conference ... · What is SOA? SOA is an architecture approach for organizing and using services to support interoperability between enterprise data

2

What is SOA?

SOA is an architecture approach for organizing and using services to support interoperability between enterprise data

assets and applications

Capabilities performed by one for another to achieve a

desired outcome

ServiceS

The fundamental organization of a system by its capabilities,

their interactions, and the enterprise environment

ArchitectureA

Aligning architecture to enable a collection of services to be

linked together to solve a business problem

OrientedO

Slide courtesy of Booz Allen Hamilton and OASIS SOA-RM TC.

Page 3: BJA Regional Information Sharing Conference ... · What is SOA? SOA is an architecture approach for organizing and using services to support interoperability between enterprise data

3

Principles of SOA

Loosely CoupledCoarse-GrainedReusableInteroperableService Contracts

Stateless Composable Autonomous Discoverable Business Focused

Page 4: BJA Regional Information Sharing Conference ... · What is SOA? SOA is an architecture approach for organizing and using services to support interoperability between enterprise data

4

Example of a Production SystemSOURCE: NYC Dept. of Correction 2005

Page 5: BJA Regional Information Sharing Conference ... · What is SOA? SOA is an architecture approach for organizing and using services to support interoperability between enterprise data

5

Types of Services

Business Services• Relate to the actual business of the

organization, e.g. person, property, address, or incident service

Supporting Services• Relate to the supporting IT infrastructure,

e.g. authentication, directory, data transformation, subscription, or notification service

Page 6: BJA Regional Information Sharing Conference ... · What is SOA? SOA is an architecture approach for organizing and using services to support interoperability between enterprise data

6

Service Identification

Service Identification is a planning process undertaken to establish a list of desired servicesAnswers basic questions:

What business service do we need? What technical services do we need? What services do we start with? How will we deal with service life cycle?

Page 7: BJA Regional Information Sharing Conference ... · What is SOA? SOA is an architecture approach for organizing and using services to support interoperability between enterprise data

7

Business Services Examples

During the service identification process the following services are identified:

• A person service that is a coarsely grained composite of a group of underlying services that includes law enforcement personnel, witness, victim, subject

• However, some people conclude that the person service is too coarsely grained, that it is more effective to provide the law enforcement personnel, witness, victim, subject services independently

Page 8: BJA Regional Information Sharing Conference ... · What is SOA? SOA is an architecture approach for organizing and using services to support interoperability between enterprise data

8

Business Service Examples

During the service identification process some desirable services are identified from partnering agencies:

• an inmate lookup service that provides information about the status of an inmate on a lookup basis only

• A court calendar service that provides court schedule availability

Page 9: BJA Regional Information Sharing Conference ... · What is SOA? SOA is an architecture approach for organizing and using services to support interoperability between enterprise data

9

Supporting Services ExamplesDuring the service identification process

some supporting services are identified:• A subscription and notification service that

can be used to alert people to changes in status, such as to a court schedule

• A monitoring service used to enforce security policies

• A document transformation service used to convert MS Word into PDF or html

• A storage service used to store documents, video, audio, etc.

Page 10: BJA Regional Information Sharing Conference ... · What is SOA? SOA is an architecture approach for organizing and using services to support interoperability between enterprise data

10

What is an Enterprise Service Bus?

Page 11: BJA Regional Information Sharing Conference ... · What is SOA? SOA is an architecture approach for organizing and using services to support interoperability between enterprise data

11

Enterprise Service Bus

An ESB is a solution created to consolidate functionality that SOA implementations will likely requireESBs exist at the implementation level, e.g. are not described in the OASIS Reference Model

Page 12: BJA Regional Information Sharing Conference ... · What is SOA? SOA is an architecture approach for organizing and using services to support interoperability between enterprise data

12

Role of an ESB in SOA

Message ProcessingProcess ChoreographyService OrchestrationTransaction

ManagementSecurity

RoutingMessage

TransformationMessage

EnhancementProtocol

TransformationService Mapping

Page 13: BJA Regional Information Sharing Conference ... · What is SOA? SOA is an architecture approach for organizing and using services to support interoperability between enterprise data

13

Message RoutingSource: Enterprise Integration Patterns, Gregor Hohpe and

Bobby Woolf

A message is routed on the appropriate pathCan be based on content, process, or other criteria

Page 14: BJA Regional Information Sharing Conference ... · What is SOA? SOA is an architecture approach for organizing and using services to support interoperability between enterprise data

14

Message TransformationSource: Enterprise Integration Patterns, Gregor Hohpe and

Bobby Woolf

A message is translated so the recipient can read itExamples: from text to XML, from XML to VXML (voice)

Page 15: BJA Regional Information Sharing Conference ... · What is SOA? SOA is an architecture approach for organizing and using services to support interoperability between enterprise data

15

Business Process Management

Commonly known as “BPM”A business process is the steps that occur from an initial input to reaching a result

• A business process can include events, activities, decisions, and artifacts such as documents

• A business process can be decomposed into discreet pieces

Page 16: BJA Regional Information Sharing Conference ... · What is SOA? SOA is an architecture approach for organizing and using services to support interoperability between enterprise data

16

Business Process Management (cont.)

BPM is not the same as workflow – workflow is people-based – while BPM is process-basedTHE BPM standard is called BPEL (Business Process Execution Language), and BPEL currently does not include people-based activities

Page 17: BJA Regional Information Sharing Conference ... · What is SOA? SOA is an architecture approach for organizing and using services to support interoperability between enterprise data

17

Business Process Modeling

A business process model is the visual picture of a business process and is created using specialized modeling toolsThe standard for BPM modeling is called BPMN (Business Process Markup Notation)

Page 18: BJA Regional Information Sharing Conference ... · What is SOA? SOA is an architecture approach for organizing and using services to support interoperability between enterprise data

18

BPMN of Arraignment Process

Page 19: BJA Regional Information Sharing Conference ... · What is SOA? SOA is an architecture approach for organizing and using services to support interoperability between enterprise data

19

Standards Development

Standards make interoperability possibleThe standards development process is run by a combination of leading vendors, standards bodies, and governmentsMany standards don't make it, they get partial adoption and then get superseded or just fizzle outDo your research, don't get caught!

Page 20: BJA Regional Information Sharing Conference ... · What is SOA? SOA is an architecture approach for organizing and using services to support interoperability between enterprise data

20

Examples of Mature & Developing Standards

Mature • HTTP• JMS• WSDL• SOAP• BPEL• UDDI• WS-Security• WS-Reliability

Developing Standards• SCA• SDO• JBI• WS-Eventing• WS-Notification

Page 21: BJA Regional Information Sharing Conference ... · What is SOA? SOA is an architecture approach for organizing and using services to support interoperability between enterprise data

21

Example:Law Enforcement SOA

Page 22: BJA Regional Information Sharing Conference ... · What is SOA? SOA is an architecture approach for organizing and using services to support interoperability between enterprise data

22

Emerging Trends

Web 2.0• Grid • Participatory Web• AJAX / Rich UI

Event-DrivenSEARCH

Page 23: BJA Regional Information Sharing Conference ... · What is SOA? SOA is an architecture approach for organizing and using services to support interoperability between enterprise data

23

Example of Web 2.0 - Grid

Page 24: BJA Regional Information Sharing Conference ... · What is SOA? SOA is an architecture approach for organizing and using services to support interoperability between enterprise data

24

Example of Web 2.0 - Participatory

Page 25: BJA Regional Information Sharing Conference ... · What is SOA? SOA is an architecture approach for organizing and using services to support interoperability between enterprise data

25

AJAX / Rich UI

Typical Web model AJAX model

Page 26: BJA Regional Information Sharing Conference ... · What is SOA? SOA is an architecture approach for organizing and using services to support interoperability between enterprise data

26

AJAX / Rich UI

Page 27: BJA Regional Information Sharing Conference ... · What is SOA? SOA is an architecture approach for organizing and using services to support interoperability between enterprise data

27

Example of Web 2.0 – Event Driven

Page 28: BJA Regional Information Sharing Conference ... · What is SOA? SOA is an architecture approach for organizing and using services to support interoperability between enterprise data

28

Event-Driven SOAWS-Notification

Page 29: BJA Regional Information Sharing Conference ... · What is SOA? SOA is an architecture approach for organizing and using services to support interoperability between enterprise data

29

Event-Driven Justice Environment

Page 30: BJA Regional Information Sharing Conference ... · What is SOA? SOA is an architecture approach for organizing and using services to support interoperability between enterprise data

30

Search in Event-Driven Justice SOA

Page 31: BJA Regional Information Sharing Conference ... · What is SOA? SOA is an architecture approach for organizing and using services to support interoperability between enterprise data

31

How to Start? Tactical - Identify some quick wins to validate approach

• High value, low complexity services with low security requirements

Strategic - Develop strategic plan• Establish business case• Define organizational approach including governance

• Do an iterative service identification process

Page 32: BJA Regional Information Sharing Conference ... · What is SOA? SOA is an architecture approach for organizing and using services to support interoperability between enterprise data

32

Questions?

Kael Goodman

212-420-7870

www.govcore.com

Thank you!

Our services: Strategic planning, enterprise architecture, CJIS governance & Policy development, JRA implementation, IEPD development, SOA training, requirements & business analysis, application development.