Dynamic Service Discovery Workshop on Web of Services for Enterprise Computing Kinga Dziembowski...

38
Dynamic Service Discovery orkshop on Web of Services for Enterprise Computing Kinga Dziembowski 02.27.2007
  • date post

    19-Dec-2015
  • Category

    Documents

  • view

    216
  • download

    0

Transcript of Dynamic Service Discovery Workshop on Web of Services for Enterprise Computing Kinga Dziembowski...

Dynamic Service Discovery

Workshop on Web of Services for Enterprise Computing

Kinga Dziembowski02.27.2007

2

• Bio and company background • The problem of Services Discovery in a commercial environment • The problem of Services Discovery for US military environment–What needs to be discovered?

• An approach– Dynamic Discovery– Service Type and Service Instance– Dynamic Discovery pattern architectures

• Interoperability problem – should Dynamic Service Discovery be an infrastructure resident service?• Summary

Presentation Agenda

3

• Bluestone - Application Server Company

• HP– HP Web Service Platform (AS, SOAP Server, UDDI Server)

• SOAP server – Apache Cocoon contributor

• WSMF – Web Services Management Framework– Spec, reference implementation– End-to-end integration of TIBCO environment with OpenView

using WSMF and then WSDM

• WSDM – OASIS standard– Spec reference implementation – Apache Committer - muse, wsrf, pubsub

• Gestalt– ARCES – Applied Research for Computing Enterprise Services

Kinga Dziembowski [email protected]

4

Gestalt-LLC - http://www.gestalt-llc.com/

• Is an international professional services firm• Provides business consulting and technology solutions to the Defense and Energy markets• Develops practical yet innovative solutions that drive competitive advantage in complex decision environments • ARCES project:– is sponsored by Electronic System Center ESC – is a research on SOA in DoD Net-Centric vision (NCES,GIG)– uses Modeling techniques – CPN, Extend, Opnet

Gestalt-LLC Overview

5

Service Discovery in the dynamic and transient nature of a highly distributed and mobile enterprise, such as the US military, requires a much more dynamic concept of Service Discovery than what is currently handled by most commercial Service-Oriented Architecture implementations.

My position

6

Discovery (observation), observing or finding something unknown to one's culture [Wikipedia]

Discovery problem

7

Service Discovery – dry cleaner story

8

Service Discovery – dry cleaner story

9

• Figure out if the functionality (Service) s/he needs exists.• Find enough information to “interface” with the Service• Use this same “interface” all the time• Be able to access the Service at any time • Be able to access the Service from any place• Be notified of any change which violates basic needs

Consumer needs to find the Service satisfying his/her requirements - Service Discovery process will help

What are the consumer needs?

10

Discovery in a Stable Environment

• The problem of Services Discovery in a commercial environment – The infrastructure in which the service customers and providers operate is stable. – Service Discovery is concerned about

• Service Type

• Service End point URL

11

ServiceConsumer

Service Provider

ServiceRegistry

Publish

Bind/Invoke

Discover

• Assumptions:– Stable infrastructure– Services deployed stay deployed– End point URLs once established stay operational– Non operational services consist of business lost for enterprise– Consumer operates in a static environment

Commercial world comprises the “core” environment. Here, the Service Discovery triangle paradigm works quite well.

How does this story translates to the SOA ?

12

Dynamic Environment

• The problem of Services Discovery for US military environment–Commercial world comprises the “core” environment in which the well known Service Discovery triangle paradigm works quite well–In the highly distributed and mobile world of the military, the space in which Web Services and web technologies operates is much more complex

13

• Core–The “core” is static, stable, has known behaviors, is established, and is always connected. Services are assumed to be operational 24x7.

• Edge–The “edge” is dynamic, transient, and sometimes disconnected; you cannot assume that the Service is available at any point of time.

• Consumer environment changes– he needs to adapt to the environment

• Provider environment changes– he needs to adapt to the environment

In the highly distributed and mobile world of the military, the space in which web technologies operates is much more complex

Dynamic nature of consumer and provider

14

• Even with my dry cleaner story I could not satisfy my Discovery need using static registry – telephone book• At the first Web Service maturity level, the simplistic assumptions that the Web Services operate in a static world were OK• It is time to move to the next maturity level and address dynamic nature of the Web Services Instances• The canonical Service Discovery paradigm is not enough for dynamic environments• Additional runtime Dynamic Service Discovery is needed– Service Instances are of main concern

– Service Instance presence and availability are needed

Service Instance, presence and availability is needed for Dynamic Service Discovery

Something is missing

15

1. Mobile Service Clients- Such clients plug into existing systems and need to discover where the needed Services Providers are in the current environment.

2. Mobile Services Providers– The Service Instance is moving from point to point on the network. What is important for this use case is the ability for the client to invoke a specific Service Instance – the state associated with the Service Instance matters.

3. Changing Service Instance population – (transient services).- The goal for Service Discovery is to find what Service Instances are currently available, it is not important to find a specific Instance, any Instance of a particular service type will satisfy the consumer need.

4. Instance federation – In this use case multiple Services Instances spread resource responsibilities. The population of the Instances is static or slowly changing (“the core”). Service Discovery is concerned with finding the Service Instance with the appropriate context. Each Instance context changes.

Dynamic Discovery Pattern Use Cases

16

Discovery Use Case - Mobile Service Client

ServiceProvider

ServiceProvider

ServiceProvider

17

Discovery Use Case - Mobile Service Providers

18

Dynamic Discovery Pattern

Initial Discovery Pattern–Repository for Service Type and Service Instance metadata–Discovery Engine that fronts metadata repository–Services publish Service Instance metadata to repository; update as metadata changes–Clients query discovery engine–Extension to existing design-time discovery mechanisms

19

Dynamic Discovery Pattern

ServiceConsumer

ServiceProvider

Service TypeRegistry/Metadata

PublishService Type

Discover

DiscoverService Type

Service InstanceRegistry/Metadata

Discovery

PublishService Instance

Metadata

DiscoverService Type

DiscoverService Instance

Bind/Invoke

20

• Service Type– Established at design time– Can be uniquely identified– Consists of

• Interface definition• Semantic information• Metadata definition (context)

Static part – values established at design time and never changes

Para-dynamic part – values established post design time

Dynamic part - Instance values established at run time

1……….

2.……….

3……….

4.……….

5……….

6.……….

What needs to be discovered?

21

• Service Instance– Running Instance of Service defined by Service Type– Implementation of semantic and syntactic contract defined by Service Type – Establishes dynamic metadata values defined by Service Type– What consumer actually interacts with– Can be uniquely identified

– Updates its context document when the dynamic metadata values changes

What needs to be discovered?

Service Instance is independently managed entity, can appear and disappear, has its own dynamic metadata values

22

Interoperability problem

• What are the minimal responsibilities of Service Instance to participate in Dynamic Service Discovery?• Should we define Web Service as implementing several Interfaces–Business interface (the functionality which defines the Service)–Discoverable interface (set of operations, properties, capabilities needed to Discover service in interoperable way)–Management Interface (set of operations, properties, capabilities needed to Manage service in interoperable way)

• Should we query Web Service to learn what are its capabilities and use this dynamic knowledge to interact with it appropriately?• Should Dynamic Service Discovery be an infrastructure resident service – ESB ?

23

Summary

• Dynamic and transient nature of a highly distributed and mobile enterprise, such as the US military, requires run time Service Instances discovery

Discoverable Services• Service Type describes the Service• Service Instance is implementation of the Service Type• Service Instance has dynamic context• Metadata context needs to be part of the contract - Service Type Definition (wsdl?) • Service Instance Presence and Availability

24

Conclusions

• Dynamic Service Discovery problem needs to be solved in global, systematic way• Develop supporting standards, architectures, reference implementations• Provide design patterns, recommendations and best practices

If this problem is not solved at the architecture and standards level, the main benefit of SOA – INTEROPERABILIRY- will be compromised or lost

25

Info

Kinga Dziembowski mailto:[email protected]

Gestalt-LLC - http://www.gestalt-llc.com/

Terms:

NCES – Net Centric Enterprise Services

GIG – Global Information Grid

DISA – Defense Information Systems Agency

27

Parking

28

The 5 W’s in SOA world

Who does discovery? Machine vs. Human

What is being discovered? Service DefinitionsService InstancesService Endpoints

Where is the searching done - what is the scope of the search? Global/PublicEnterpriseCOIApplication

Why is discovery being performed?What problems does discovery solve?

When is discovery performed?Design-time vs. Run-time

29

Consumers and Providers

P1

P5

P4

P3

P11

P9

P10

P2

C4

C5

C22

C1

C2

30

Global Discovery Engine

P1

P5

P4

P3

P11

P9

P10

P2

C4

C5

C22

C1

C2

R

31

Grouping of services and consumers

P1

P5

P4

P3

P11

P9

P10

P2

C4

C5

C22

C1

C2R

R

R

R

R

COI (Communities Of Interest )

R

Discovery Engines organizations

Query

peer-to-peer federated

hierarchical

R

R R

R

R

Peer-to-peer

R

R

RR

R

R

Query

Federated

R

R R

R R R R R

Hierarchical

R

R

R

P1

P3

P4P2

C1

C3

C2

P5

How does it work?

37

Implementation Demo

38

Summary

• Dynamic and transient nature of a highly distributed and mobile enterprise, such as the US military, requires run time Service Instances discovery• Service Type describes the Service• Service Instance is implementation of the Service Type• Service Instance has dynamic context• Meta Data context needs to be part of the contract - Service Type Definition (wsdl?) • Service Instance context changes over time – Dynamic Service Discovery needs to be notified• Dynamic Service Discovery is similar to query search – as a result we get hitlist of Service Instances context documents • Service consumer select the document from the hitlist and invoke the Service Business interface