24
Service Pattern & IEC Recommendation

Service Pattern & IEC Recommendation. Goals To define interoperable and sustainable Web services in a consistent way based on standards To bring business

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

Page 1: Service Pattern & IEC Recommendation. Goals To define interoperable and sustainable Web services in a consistent way based on standards To bring business

Service Pattern &

IEC Recommendation

Page 2: Service Pattern & IEC Recommendation. Goals To define interoperable and sustainable Web services in a consistent way based on standards To bring business

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

Page 3: Service Pattern & IEC Recommendation. Goals To define interoperable and sustainable Web services in a consistent way based on standards To bring business

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

Page 4: Service Pattern & IEC Recommendation. Goals To define interoperable and sustainable Web services in a consistent way based on standards To bring business

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)

Page 5: Service Pattern & IEC Recommendation. Goals To define interoperable and sustainable Web services in a consistent way based on standards To bring business

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

Page 6: Service Pattern & IEC Recommendation. Goals To define interoperable and sustainable Web services in a consistent way based on standards To bring business

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

Page 7: Service Pattern & IEC Recommendation. Goals To define interoperable and sustainable Web services in a consistent way based on standards To bring business

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

Page 8: Service Pattern & IEC Recommendation. Goals To define interoperable and sustainable Web services in a consistent way based on standards To bring business

Service Patterns – Client Application View

Client Application sd Integration Sequence Diagram - B1S1

AMI Head End

(from Actors - Set 2)

ESB

CreatedMeterReading()

Acknowledgement()

Page 9: Service Pattern & IEC Recommendation. Goals To define interoperable and sustainable Web services in a consistent way based on standards To bring business

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.

Page 10: Service Pattern & IEC Recommendation. Goals To define interoperable and sustainable Web services in a consistent way based on standards To bring business

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

Page 11: Service Pattern & IEC Recommendation. Goals To define interoperable and sustainable Web services in a consistent way based on standards To bring business

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

Page 12: Service Pattern & IEC Recommendation. Goals To define interoperable and sustainable Web services in a consistent way based on standards To bring business

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)

Page 13: Service Pattern & IEC Recommendation. Goals To define interoperable and sustainable Web services in a consistent way based on standards To bring business

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

Page 14: Service Pattern & IEC Recommendation. Goals To define interoperable and sustainable Web services in a consistent way based on standards To bring business

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)

Page 15: Service Pattern & IEC Recommendation. Goals To define interoperable and sustainable Web services in a consistent way based on standards To bring business

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

Page 16: Service Pattern & IEC Recommendation. Goals To define interoperable and sustainable Web services in a consistent way based on standards To bring business

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

Page 17: Service Pattern & IEC Recommendation. Goals To define interoperable and sustainable Web services in a consistent way based on standards To bring business

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

Page 18: Service Pattern & IEC Recommendation. Goals To define interoperable and sustainable Web services in a consistent way based on standards To bring business

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

Page 19: Service Pattern & IEC Recommendation. Goals To define interoperable and sustainable Web services in a consistent way based on standards To bring business

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

Page 20: Service Pattern & IEC Recommendation. Goals To define interoperable and sustainable Web services in a consistent way based on standards To bring business

Service Patterns in Repository

ServiceName

Page 21: Service Pattern & IEC Recommendation. Goals To define interoperable and sustainable Web services in a consistent way based on standards To bring business

Service Patterns for Client Invocation

MeterReading

Page 22: Service Pattern & IEC Recommendation. Goals To define interoperable and sustainable Web services in a consistent way based on standards To bring business

SendMeterReading

Note that service is deployed in different names but operation names are the same as MeterReading’s.

Service Patterns for Client Invocation

Page 23: Service Pattern & IEC Recommendation. Goals To define interoperable and sustainable Web services in a consistent way based on standards To bring business

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

Page 24: Service Pattern & IEC Recommendation. Goals To define interoperable and sustainable Web services in a consistent way based on standards To bring business

Questions and Comments