A SOA for the car - 01/2009
-
Upload
roland-tritsch -
Category
Documents
-
view
158 -
download
1
Transcript of A SOA for the car - 01/2009
A SOA for the car
Roland Tritsch, Solutions Architect, IONA Technologies
2
Agenda
• Introduction– Sharing observations– Motivate the problem
• Discuss a possible solution– Service Oriented Architectures– WebServices Definition Language– Shortcomings
• Summary– Q&A
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
4
5
Current situation
���
�����������
� ��
������
��
6
Current situation
�����������������
��������
���������
�������
��������
������
���!"��!"#��������!"$
���
���!"��!"� ��!"$
���%�&�"�!" ��'!"$
Effort
7
Resulting challenges
• Development– Software Quality
• Testing
– Reuse
• Production– Update/Upgrade
• Versioning
– Configuration• UPNP
– Diagnoses
8
The solution
�����������������
��������
���������
�������
���!"��!"#��������!"$
���
���!"��!"� ��!"$
���%�&�"�!" ��'!"$
��������
������
???
9
What’s missing?
• Abstraction– A way to define abstract
interfaces between the services
• Standards– Standards to describe
these interfaces
���!"��!"#��������!"$
���
���!"��!"� ��!"$
���%�&�"�!" ��'!"$
???
Objects, components and services
���������������������� ������� ���
������������������������������������
������������������ ������ ������
GranularityGranularity
ScopeScope
Objects
������ � ����� ����
Components
Services
11
SOA Primer
Registry
Requester Provider
1. Register2. Lookup
3. Interact
Repository
(Virtual) Bus
Contract
Contract
12
A SOA for the car
�(���)���"�������!"��!"� ��!"����
ECU ECU ECU
ECU ECU ECU
Contract Contract Contract
Contract Contract Contract
S S S
SSS
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
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, …
15
(W)SDL might be a good canditate
�������
��� ��� ���������
�������
��������������������
�����������
���� ���� �������
��!����������
���"����������
��#�$��%���
�������������
�!������������
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.
17
WSDL Extensors������������� ������������������������������� ������
�������������������� ����� ������������� ��������� ������������� ��������� ������������� ��������� ������������� ���������������������������������
���������������� ���� !""����#� ���� !""����#� ���� !""����#� ���� !""����#�����# ����# ����# ����# ����"����"����"����"$��$��$��$��"��"��"��"������������������!!!!�������� ���� !""$$$�$%����"&���" ���� !""$$$�$%����"&���" ���� !""$$$�$%����"&���" ���� !""$$$�$%����"&���"'()*����#'()*����#'()*����#'()*����#��������
����!*+,-�./0 ���� !""����#�����# ����"�# "�������"������!�# ���� !""����#�����# ����"$��"�# "��
����!�#�12 ���� !""����#��#���#���"��#� ���"�#�12������!���� ���� !""����#���#����"1����"������
����������������!!!!�������� ���� !"" ���� !"" ���� !"" ���� !""�# ����� �# ����� �# ����� �# ����� ����"������"������"������"������������������!��� ���� !""!��� ���� !""!��� ���� !""!��� ���� !""�# ����� �# ����� �# ����� �# ����� ����"����"����"����"�����������������#����/#�� #���#����/#�� #���#����/#�� #���#����/#�� #�� ���� !"" ���� !"" ���� !"" ���� !""�# ����� �# ����� �# ����� �# ����� ����"������"������"������"��
�
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)
�������
������
���������
�������
��������������������
�����������
���� ���� �������
��!����������
���"����������
��#�$��%���
�������������
�!������������
19
WSDL Extensors������������� ������������������������������� ������
����� ����� ������������� ���������������������� ���� !""����#�����# ����"$��"������!�� ���� !""$$$�$%����"&���"'()*����#��
����!*+,-�./0 ���� !""����#�����# ����"�# "�������"������!�# ���� !""����#�����# ����"$��"�# "��
����������������!!!!�#�12�#�12�#�12�#�12 ���� !""����#� ���� !""����#� ���� !""����#� ���� !""����#��#��#��#��#������#����#����#����#���"��#� ���""��#� ���""��#� ���""��#� ���"�#�12�#�12�#�12�#�12������������������������!����!����!����!���� ���� !""����#� ���� !""����#� ���� !""����#� ���� !""����#���#��#��#��#����"1����"����������"1����"����������"1����"����������"1����"������
����!�� ���� !""�# ����� ����"������!��� ���� !""�# ����� ����"�����#����/#�� #�� ���� !""�# ����� ����"��
�
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�����
21
CAN Port Extensor
��������#�� ������32� ��4#�#�*�������� �����#�� ������32� ��4#�#�-����
1���� ���!�����32�1��4#�#�3��������#�12!��#������2�1�� ��&9�
����2�� ��#��9#��� �7��2#� ���2�9"�
�" �����"������
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
23
Thank You&
Questions