Upload
rudolf-wheeler
View
217
Download
0
Embed Size (px)
DESCRIPTION
Key Architecture Considerations Decoupling of end point connections and business semantics Guaranteed delivery Managed integration Process orchestration where necessary End point compliance to common business semantics and syntax for information exchange to the public (enterprise) End point compliance to service patterns (interaction patterns, naming and structure patterns, and message exchange patterns) Minimal business logic and transformation within the integration layer Map to IEC TC57 WG14 verbs
Citation preview
Service Pattern &
IEC Recommendation
Goals
• To define interoperable and sustainable Web services in a consistent way based on standards
• To bring business semantics into service definition using IEC recommended verbs
• To support flexible integration with or without ESB
Key Architecture Considerations
• Decoupling of end point connections and business semantics• Guaranteed delivery• Managed integration• Process orchestration where necessary• End point compliance to common business semantics and
syntax for information exchange to the public (enterprise)• End point compliance to service patterns (interaction patterns,
naming and structure patterns, and message exchange patterns)• Minimal business logic and transformation within the integration
layer• Map to IEC TC57 WG14 verbs
Pattern at Two Levels
• Service Pattern– Logical (common patterns in terms of
business process, interaction, and service role in SOA environment)
• Operation Pattern– Physical (semantics of operations in
terms of action and information object)
Service Patterns
• Send - to provide (send) information (business object) for public (enterprise) consumption. To be invoked by the system of record for the business object and only when the state of the business object has changed.
• Receive – to consume (receive) information (business object) from an external source.
• Request – to request another party to perform a specific service • Execute – to run a service provided to the public, which may include a
state change request or a query request. • Reply – to reply with the result of the execution of a service (by the
Execute service) • Show - to provide (show) information (business object) for public
(enterprise) consumption, when the state of the business object is not changed, by the system of record or other system that has a copy of the same business object.
• Retrieve– to request specific data of a business object to be provided.
• Publish - to provide (send) information (business object) for public (enterprise) consumption. To be invoked by the system of record for the business object and only when the state of the business object has changed.
• Subscribe – to consume (receive) information (business object) from an external source.
Used
Not Used
sd Integration Sequence Diagram - B1S1
AMI Head End
(from Actors - Set 2)
Meter Data ManagementSystem (Enterprise)
(from Actors - Set 2)
CreatedMeterReading()
Acknowledgement()
Service Patterns – Integration View
1) Integration without ESB or transparent ESB
WS
sd Integration Sequence Diagram - B1S1
AMI Head End
(from Actors - Set 2)
Meter Data ManagementSystem (Enterprise)
(from Actors - Set 2)
ESB
CreatedMeterReading()
Acknowledgement()
CreatedMeterReading()
Acknowledgement()
Service Patterns – Integration View
2) Integration with ESB
WS
WS
Service Patterns – Client Application View
Client Application sd Integration Sequence Diagram - B1S1
AMI Head End
(from Actors - Set 2)
ESB
CreatedMeterReading()
Acknowledgement()
Operation Patterns
List of IEC 61989 verbs and their usage in patterns naming standards:Create ------ operation: used in Request, Execute servicesChange ------ operation: used in Request, Execute servicesCancel ------ operation: used in Request, Execute servicesClose ------ operation: used in Request, Execute servicesDelete ------ operation: used in Request, Execute services
Created ------ operation: used in Send, Receive, Reply servicesChanged ------ operation: used in Send, Receive, Reply servicesClosed ------ operation: used in Send, Receive, Reply servicesCanceled ------ operation: used in Send, Receive, Reply servicesDeleted ------ operation: used in Send, Receive, Reply services
Get ------ not used, equivalent to Retrieve serviceShow ------ used as the service level pattern. Reply ------ used as the service level pattern. Subscribe ------ used as the service level pattern. Unsubscribe ------ not used.
Service & Operation Patterns in Inventory Sheet
Note that a service may be deployed in different names but share the same operation names.Service Inventory Sheet can be found at: http://www.smartgridipedia.org/images/5/52/AMI_ENT_Service_Inventory.xls
Service & Operation Naming Convention
• Service naming convention: – <Information Object> if ESB not involved
such as MeterReading – <Service pattern name> + <Information Object> if ESB involved
such as “SendMeterReading”/”ReceiveMeterReading”
• Operation naming convention: – <Operation pattern name> + <Information Object>
such as CreatedMeterReading).
Common Service Patterns
• Send-Receive Services Interaction Pattern (With ESB)
• Send-Receive Services Interaction Pattern (Without ESB)
• Request-Reply Services Interaction Pattern (With ESB)
• Request-Reply Services Interaction Pattern (Without ESB)
Application A ESB
ANativeAPI or Service
T S/C
Application B
BNativeAPI or Service
TS/PS/P S/C
SendMeterReading
CreatedMeterReading
ChangedMeterReading
CanceledMeterReading
Orchestration
ServiceService
OperationsOperations
Other interested parties……Guaranteed delivery within ESB, plus internal routing……
Send-Receive Services Interaction Pattern (With ESB)
ReceiveMeterReading
CreatedMeterReading
ChangedMeterReading
CanceledMeterReading
MeterReading
CreatedMeterReading
ChangedMeterReading
CanceledMeterReading
Application A
ANativeAPI or Service
T S/C
Application B
BNativeAPI or Service
TS/P
Send-Receive Services Interaction Pattern (Without ESB)
Application A ESB
ANativeAPI or Service
T S/P
Application B
BNativeAPI or Service
TS/CS/C S/P
RequestMeterReading
CreateMeterReading
ChangeMeterReading
CancelMeterReading
ExecuteMeterReading
CreateMeterReading
ChangeMeterReading
CancelMeterReading
Orchestration
S/PS/C
ReplyMeterReading
CreatedMeterReading
ChangedMeterReading
CanceledMeterReading
Request-Reply Services Interaction Pattern (With ESB)
S/PS/C
ReceiveMeterReading
CreatedMeterReading
ChangedMeterReading
CanceledMeterReading
Application A
ANativeAPI or Service
T S/P
Application B
BNativeAPI or Service
TS/C
Request-Reply Services Interaction Pattern (Without ESB)
MeterReadingRequest
CreateMeterReading
ChangeMeterReading
CancelMeterReading
S/PS/C
MeterReading
CreatedMeterReading
ChangedMeterReading
CanceledMeterReading
Message Exchange Patterns (MEPs) Supported
Two MEPs supported:1) Two way2) Call back
Note One-way pattern is not supported by AMI ENT service definition meaning there should be always SOAP level message return (not just HTTP level).
Service & Operation Patterns used for Web Service Definition
• _Service_Name_• Replaced with Service Name in AMI Ent Service Inventory
Sheet such as MeterReading
• _Operation1_Name_ • Replaced with one Operation Name in AMI Ent Service
Inventory Sheet such as CreatedMeterReading
• _Information_Object_Name_• Replaced with Information Object Name in AMI Ent Service
Inventory Sheet such as MeterReading
A standard WSDL template is provided with the following strings to be replaced according to AMI Ent Service Inventory Sheet at:
http://www.smartgridipedia.org/images/5/52/AMI_ENT_Service_Inventory.xls
Service Patterns during Deployment
• WSDL can be deployed based on integration scenario (with or without ESB):
– <wsdl:service name=“SendMeterReading">
Or
– <wsdl:service name="MeterReading">
Service Patterns in Repository
ServiceName
Service Patterns for Client Invocation
MeterReading
SendMeterReading
Note that service is deployed in different names but operation names are the same as MeterReading’s.
Service Patterns for Client Invocation
Summary
• Patterns applied to both service and operation levels for naming convention to achieve better semantics
• IEC recommended verbs used
• Services defined can be found at:
http://www.smartgridipedia.org/index.php/Category:Service
Questions and Comments