Dynamic Service Discovery Workshop on Web of Services for Enterprise Computing Kinga Dziembowski...
-
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
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
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
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
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 )
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