A SOA for the car - 01/2009

23
A SOA for the car Roland Tritsch, Solutions Architect, IONA Technologies

Transcript of A SOA for the car - 01/2009

Page 1: A SOA for the car - 01/2009

A SOA for the car

Roland Tritsch, Solutions Architect, IONA Technologies

Page 2: A SOA for the car - 01/2009

2

Agenda

• Introduction– Sharing observations– Motivate the problem

• Discuss a possible solution– Service Oriented Architectures– WebServices Definition Language– Shortcomings

• Summary– Q&A

Page 3: A SOA for the car - 01/2009

3

Embedded SWE: Quo vadis?• The conventional way of

embedded SWE has reached its limits– Informatik-Spectrum, Broy

• Mechatronic alone is probably not able to fix it

• But combining it with already proven concepts, standards and tools from the application SWEdomain might lead to the required quantum leap in productivity

Mechatronic

EmbeddedSWE

ApplicationSWE

Page 4: A SOA for the car - 01/2009

4

Page 5: A SOA for the car - 01/2009

5

Current situation

���

�����������

� ��

������

��

Page 6: A SOA for the car - 01/2009

6

Current situation

�����������������

��������

���������

�������

��������

������

���!"��!"#��������!"$

���

���!"��!"� ��!"$

���%�&�"�!" ��'!"$

Effort

Page 7: A SOA for the car - 01/2009

7

Resulting challenges

• Development– Software Quality

• Testing

– Reuse

• Production– Update/Upgrade

• Versioning

– Configuration• UPNP

– Diagnoses

Page 8: A SOA for the car - 01/2009

8

The solution

�����������������

��������

���������

�������

���!"��!"#��������!"$

���

���!"��!"� ��!"$

���%�&�"�!" ��'!"$

��������

������

???

Page 9: A SOA for the car - 01/2009

9

What’s missing?

• Abstraction– A way to define abstract

interfaces between the services

• Standards– Standards to describe

these interfaces

���!"��!"#��������!"$

���

���!"��!"� ��!"$

���%�&�"�!" ��'!"$

???

Page 10: A SOA for the car - 01/2009

Objects, components and services

���������������������� ������� ���

������������������������������������

������������������ ������ ������

GranularityGranularity

ScopeScope

Objects

������ � ����� ����

Components

Services

Page 11: A SOA for the car - 01/2009

11

SOA Primer

Registry

Requester Provider

1. Register2. Lookup

3. Interact

Repository

(Virtual) Bus

Contract

Contract

Page 12: A SOA for the car - 01/2009

12

A SOA for the car

�(���)���"�������!"��!"� ��!"����

ECU ECU ECU

ECU ECU ECU

Contract Contract Contract

Contract Contract Contract

S S S

SSS

Page 13: A SOA for the car - 01/2009

13

What do you need?

• A way to accessthe services

• A way to definethe services

• A virtual bus– ESB, EMI, …

• Transport and protocol independence

• Based on (open) standards

Service Access

Service Definition

Service Bus

T&P independent

Page 14: A SOA for the car - 01/2009

14

What do you need?

• A way to accessthe services

• A way to definethe services

• A virtual bus– ESB, EMI, …

• Transport and protocol independence

• Based on (open) standards

Service Access

Service Definition

Service Bus

T&P independent

(W)SIF

(W)SDL

CAN, MOST, FLEX, …

Page 15: A SOA for the car - 01/2009

15

(W)SDL might be a good canditate

�������

��� ��� ���������

�������

��������������������

�����������

���� ���� �������

��!����������

���"����������

��#�$��%���

�������������

�!������������

Page 16: A SOA for the car - 01/2009

16

The Service Definition Language• WSDL is/got famous for its SOAP over HTTP binding• But WSDL is Open and Extensible

– Extensibility allows non-SOAP bindings (see below)– Extensibility allows service policies to be defined in contracts too

• Already existing non-SOAP/HTTP bindings– Transports

• MQ, Tuxedo, Tibco, CORBA, IIOP, HTTP/S– Protocols

• XML, Fixed Format, FML (Tuxedo), TibRvMsg, G2++

• Service Policies– Routing, Failover, Security, Transactions, etc.

Page 17: A SOA for the car - 01/2009

17

WSDL Extensors������������� ������������������������������� ������

�������������������� ����� ������������� ��������� ������������� ��������� ������������� ��������� ������������� ���������������������������������

���������������� ���� !""����#� ���� !""����#� ���� !""����#� ���� !""����#�����# ����# ����# ����# ����"����"����"����"$��$��$��$��"��"��"��"������������������!!!!�������� ���� !""$$$�$%����"&���" ���� !""$$$�$%����"&���" ���� !""$$$�$%����"&���" ���� !""$$$�$%����"&���"'()*����#'()*����#'()*����#'()*����#��������

����!*+,-�./0 ���� !""����#�����# ����"�# "�������"������!�# ���� !""����#�����# ����"$��"�# "��

����!�#�12 ���� !""����#��#���#���"��#� ���"�#�12������!���� ���� !""����#���#����"1����"������

����������������!!!!�������� ���� !"" ���� !"" ���� !"" ���� !""�# ����� �# ����� �# ����� �# ����� ����"������"������"������"������������������!��� ���� !""!��� ���� !""!��� ���� !""!��� ���� !""�# ����� �# ����� �# ����� �# ����� ����"����"����"����"�����������������#����/#�� #���#����/#�� #���#����/#�� #���#����/#�� #�� ���� !"" ���� !"" ���� !"" ���� !""�# ����� �# ����� �# ����� �# ����� ����"������"������"������"��

Page 18: A SOA for the car - 01/2009

18

“Und was ist mit ECUs?”

• ECUs send and receive messages as telegrams

• Every telegram is fixed in size and format

• Means we need something like a fixed binding

• We also need a transport (e.g. CAN bus)

�������

������

���������

�������

��������������������

�����������

���� ���� �������

��!����������

���"����������

��#�$��%���

�������������

�!������������

Page 19: A SOA for the car - 01/2009

19

WSDL Extensors������������� ������������������������������� ������

����� ����� ������������� ���������������������� ���� !""����#�����# ����"$��"������!�� ���� !""$$$�$%����"&���"'()*����#��

����!*+,-�./0 ���� !""����#�����# ����"�# "�������"������!�# ���� !""����#�����# ����"$��"�# "��

����������������!!!!�#�12�#�12�#�12�#�12 ���� !""����#� ���� !""����#� ���� !""����#� ���� !""����#��#��#��#��#������#����#����#����#���"��#� ���""��#� ���""��#� ���""��#� ���"�#�12�#�12�#�12�#�12������������������������!����!����!����!���� ���� !""����#� ���� !""����#� ���� !""����#� ���� !""����#���#��#��#��#����"1����"����������"1����"����������"1����"����������"1����"������

����!�� ���� !""�# ����� ����"������!��� ���� !""�# ����� ����"�����#����/#�� #�� ���� !""�# ����� ����"��

Page 20: A SOA for the car - 01/2009

20

Fixed Format Binding�1������#�� ������32� ��4#�#�3�����

�5 � ���!�����32�1��4#�#��5 ��������!1����"��� ��#�����#�� ������

�����!� ��#���������#��� ��#�6��"��� 2��

�����!1��5������!������#�� ��#�6���

����7#�2� ������1����+��5 ���2��"�

�����!������#�� ���#�����8� �&�"������!������#�� �����#��8� �&�"�

�"����!1��5��"� 2��

�"� ��#�����"1�����

Page 21: A SOA for the car - 01/2009

21

CAN Port Extensor

��������#�� ������32� ��4#�#�*�������� �����#�� ������32� ��4#�#�-����

1���� ���!�����32�1��4#�#�3��������#�12!��#������2�1�� ��&9�

����2�� ��#��9#��� �7��2#� ���2�9"�

�" �����"������

Page 22: A SOA for the car - 01/2009

22

Summary• Integrating an increasing number

of ECUs will become one of themajor challenges for the automotiveindustry

• Applying concepts, standards and toolsfrom the application SWE domain might help– E.g. Middleware, CORBA, WebServices

• WSDL might be a good candiate as a universal service description language to describe the services in a car– But there are also (still) a lot of shortcomings

• WSIF is complementary to WSDL and provides a means to access the services in a uniform way

Page 23: A SOA for the car - 01/2009

23

Thank You&

Questions