96
WSO2 @ Connected Car Deutsche Telekom / T-Systems Dr. Andreas Wichmann

WSO2 @ Connected Car

  • Upload
    wso2

  • View
    2.594

  • Download
    4

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: WSO2 @ Connected Car

WSO2 @ Connected CarDeutsche Telekom / T-Systems

Dr. Andreas Wichmann

Page 2: WSO2 @ Connected Car

2

Evaluation Criteria – what middleware we need

Operational Criteria – what operators like

The Concept of Connected Car – what we are going to provide

WSO2 Quickstart – what we have verified

WSO2 ESB Proxies – what we have implemented so far

WSO2 at Connected Car - Agenda

1

2

3

4

5

Next Steps – what we are about to add6

Page 3: WSO2 @ Connected Car

1

3

Page 4: WSO2 @ Connected Car

Connected Life & Work @ Car

Services of Telekom and Service Providers

Suitable Controls

Videos

Internet

Music

Phone/Email

Photos

Communities

Local Services

Adaption for Car Drivers

Touch ControlVoice Control

mobile

at home

in the office

ConnectedConnected Life & Life & WorkWork

@ Car@ Car

Calendar

E-Call / B-Call

Remote Diag.

Remote Mgmt.Navigation

in the car

Page 5: WSO2 @ Connected Car

Connected Car – Our positioning in the target markets

Solutions

OEM

Fleet Operators

Cost-efficient retail solution

for safe and driver-specific

usage of communication and

infotaiment features

Consumer

Logistics

Modular retail solution

for the integration of customer-

specific processes into the

vehicle

Cost-efficient and vendor-

independent tracking & tracing

of truck, trailer and goods

Flexible white label platform

for the integration of brand-

specific services and 3rd party

applications

Deutsche Telekom’s contribution

WeWe connectconnect thethe vehiclevehicle withwith itsits environmentenvironment

and and thethe driverdriver withwith his private and his private and professionalprofessional servicesservices. .

Page 6: WSO2 @ Connected Car

All services on all screens!

Connected Car – Intelligence in the cloud (open system)

Connected Car Platform

@Mobile @Office @Home

Embedded Retail Solution

Central Platform Services

…Identity Management Billing Installation & Updates Security

OEM Services 3rd Party ServicesTelekom Services

@Car

Page 7: WSO2 @ Connected Car

Connected Car – Dynamics of open platform

Connected Car PlatformEnabling Services

…Identity

Management Billing Installation & Updates

Secu-rity

OEM

Telco Provider

Suppliers

Government

Content Provider

Service Provider

Devices

RevenueShare

RevenueShare

RevenueShare

White Label White Label

Any to any Any to any

Page 8: WSO2 @ Connected Car

Client

Connected Car Platform – based on existing and future standards

Standard

Architectures, e.g.

GENiVi, OSGi, …

Existing Platforms

e.g. iOS, Android,

Windows, …

Backend Infrastructure

Connected External Services

http/https

GPRS

SMS

ProtocolStandards Standard Architecture

OSS/ BSS

e.g. OMA-DM

e.g. SSL, SAML

e.g. eCall

Operating Standards

Security Standards

Application/Service Standards

Embedded

Smartphone InterfaceStandards

SOAP

REST

OMA-DM = Open Mobile Alliance - Device Management, OSS/BSS = Operational Support Services / Business Support Services

OSGi = Open Services Gateway initiative, SOAP = Simple Object Access Protocol, REST = Representational State Transfer

Page 9: WSO2 @ Connected Car

Core ServicesCore ServicesCore ServicesCore Services

Display deviceDisplay deviceDisplay deviceDisplay device

EmbeddedEmbeddedEmbeddedEmbedded SmartphoneSmartphoneSmartphoneSmartphone

Client / Device

Central PlatformCentral PlatformCentral PlatformCentral Platform

NetworkNetworkNetworkNetworkManagementManagementManagementManagement

Core Services / ContentsCore Services / ContentsCore Services / ContentsCore Services / Contents

Cloud / Central

1) TSP = Telematics Service Provider

Remote Device Management Rights Management

Monitoring Identity Management

Security GPS Positioning

OTA Communication Portal

eCall

StolenVehicleTrackin

g

E-MailNavi-gation

HMI …

Music

… …

SIMSIMSIMSIM SIMSIMSIMSIM

HardwareHardwareHardwareHardware Data CenterData CenterData CenterData CenterNetworkNetworkNetworkNetworkInfrastructureInfrastructureInfrastructureInfrastructure

Mgmt. Platform (ECCP)Mgmt. Platform (ECCP)Mgmt. Platform (ECCP)Mgmt. Platform (ECCP)

National,National,National,National,International/ International/ International/ International/ 3rd Party Provider3rd Party Provider3rd Party Provider3rd Party Provider

M2M PlatformM2M PlatformM2M PlatformM2M PlatformDe/Activation,

Configuration

Netw. Services,

Rating, Billing,

Monitoring/

Reporting

Remote Device Mgmt. Rights Mgmt.

Monitoring Ident. Mgmt.

Security Portal Server

OTA Commun.

Management Platform (CCCP)Management Platform (CCCP)Management Platform (CCCP)Management Platform (CCCP)Management Platform (ECCP) Management Platform (ECCP) Management Platform (ECCP) Management Platform (ECCP)

TSP1)

Internat.National

Connected Car Architecture

DT Offering OEM Offering 3rd Party Offering

CAN Controller WiFi

CPU/ Storage Bluetooth

Power Management SIM

Security GPS

Onboard Communication Unit (OCU)Onboard Communication Unit (OCU)Onboard Communication Unit (OCU)Onboard Communication Unit (OCU)

Enabling Services: Enabling Services: Enabling Services:

Page 10: WSO2 @ Connected Car

Operational Support ServicesOperational Support ServicesOperational Support ServicesOperational Support Services Business Support ServicesBusiness Support ServicesBusiness Support ServicesBusiness Support Services

EnablingEnablingEnablingEnabling ServicesServicesServicesServices

External

Billing

External

Billing

Portal

Solutions

Portal

Solutions

Rental

Services

Rental

Services

Central Connected Car Platform Central Connected Car Platform Central Connected Car Platform Central Connected Car Platform (CCCP) (CCCP) (CCCP) (CCCP) ---- Big PictureBig PictureBig PictureBig Picture

Security

Security

Security

Security

Security

Security

Security

Security

cache

cache

cache

cache

……

SMSSMS

SOAPSOAP

JSONJSON

ProtocolProtocolProtocolProtocol

HandlersHandlersHandlersHandlers

Buffer Buffer Buffer Buffer

QueuesQueuesQueuesQueues

DeviceDeviceDeviceDevice GatewayGatewayGatewayGateway

M2M-

Admin

M2M-

Admin

CallCenterCallCenter

External

CRM

External

CRM

DT Payment

Services

DT Payment

Services

SOA

Backplane

SOA

Backplane

External External External External

Service Service Service Service

IntegratorIntegratorIntegratorIntegrator

Content

Provider

Content

Provider

Service Integration BusService Integration BusService Integration BusService Integration Bus

CoreCoreCoreCore ServicesServicesServicesServices

cache

cache

cache

cache

Download Download Download Download GatewayGatewayGatewayGateway

OEM

Plattform

OEM

PlattformCentral Database Central Database Central Database Central Database

ServicesServicesServicesServices

External

Payment

External

Payment

TCPTCP

httphttp

TCP

http

TCP

http

Security

Security

Security

Security

Security

Security

Security

Security

Service PortalService PortalService PortalService Portal

TCPTCP

httphttp

TCP

http

cache

cache

cache

cache

Security

Security

Security

Security

Security

Security

Security

Security

TCPTCP

httphttp

Page 11: WSO2 @ Connected Car

Operational Support ServicesOperational Support ServicesOperational Support ServicesOperational Support Services Business Support ServicesBusiness Support ServicesBusiness Support ServicesBusiness Support Services

EnablingEnablingEnablingEnabling ServicesServicesServicesServices

External

Billing

External

Billing

Portal

Solutions

Portal

Solutions

Rental

Services

Rental

Services

Central Connected Car Platform Central Connected Car Platform Central Connected Car Platform Central Connected Car Platform (CCCP) (CCCP) (CCCP) (CCCP) ---- Big PictureBig PictureBig PictureBig Picture

Security

Security

Security

Security

Security

Security

Security

Security

cache

cache

cache

cache

……

SMSSMS

SOAPSOAP

JSONJSON

ProtocolProtocolProtocolProtocol

HandlersHandlersHandlersHandlers

Buffer Buffer Buffer Buffer

QueuesQueuesQueuesQueues

DeviceDeviceDeviceDevice GatewayGatewayGatewayGateway

M2M-

Admin

M2M-

Admin

CallCenterCallCenter

External

CRM

External

CRM

DT Payment

Services

DT Payment

Services

SOA

Backplane

SOA

Backplane

External External External External

Service Service Service Service

IntegratorIntegratorIntegratorIntegrator

Content

Provider

Content

Provider

Service Integration BusService Integration BusService Integration BusService Integration Bus

CoreCoreCoreCore ServicesServicesServicesServices

cache

cache

cache

cache

Download Download Download Download GatewayGatewayGatewayGateway

OEM

Plattform

OEM

PlattformCentral Database Central Database Central Database Central Database

ServicesServicesServicesServices

External

Payment

External

Payment

TCPTCP

httphttp

TCP

http

TCP

http

Security

Security

Security

Security

Security

Security

Security

Security

Service PortalService PortalService PortalService Portal

TCPTCP

httphttp

TCP

http

cache

cache

cache

cache

Security

Security

Security

Security

Security

Security

Security

Security

TCPTCP

httphttp

Page 12: WSO2 @ Connected Car

2

12

Page 13: WSO2 @ Connected Car

Evaluation Criteria

� Maturity

� Several systems in production

� Reference call with eBay

Page 14: WSO2 @ Connected Car

Evaluation Criteria

� Market Position

� WSO2 established on the market

Page 15: WSO2 @ Connected Car

Evaluation Criteria

� Integration Flexibility

� Many standard builders/formatters

� Custom adaptors

Page 16: WSO2 @ Connected Car

Evaluation Criteria

� Cost

� Software is open source and free

� Commercial support at a reasonable price

Page 17: WSO2 @ Connected Car

Evaluation Criteria

� Performance

� State-of-the-art performance

Page 18: WSO2 @ Connected Car

Evaluation Criteria

� Scalability

� Cluster/farm supported

Page 19: WSO2 @ Connected Car

Evaluation Criteria

� High Availability

� Master/slaves supported

� No single point of failure

Page 20: WSO2 @ Connected Car

Evaluation Criteria

� Completeness of Product Offering

� Identity Management, Governance Registry and some more productsoffered

� Integration with e. g. BPEL

Page 21: WSO2 @ Connected Car

Evaluation Criteria

� Business Activity Monitoring

� Integration with WSO2BAM

� Custom implementations possible

Page 22: WSO2 @ Connected Car

Evaluation Criteria

� Mediation / Proxying

� Supported

Page 23: WSO2 @ Connected Car

Evaluation Criteria

� Transforming and Mapping

� Supported

Page 24: WSO2 @ Connected Car

Evaluation Criteria

� Content Based Routing

� Supported

� Xpath, regexp and custom parsers

Page 25: WSO2 @ Connected Car

Evaluation Criteria

� Message Flows

� Supported, e. g. pipe, filter, splitter

Page 26: WSO2 @ Connected Car

Evaluation Criteria

� Fault Handling

� Supported, e. g. retry strategy

� Defined by explicit scripting

Page 27: WSO2 @ Connected Car

Evaluation Criteria

� Security

� SSL

� LDAP

� WS-Security

� SAML

Page 28: WSO2 @ Connected Car

Evaluation Criteria

� Auditing

� Supported

Page 29: WSO2 @ Connected Car

Evaluation Criteria

� Reliable Messaging

� Several JMS Providers supported

Page 30: WSO2 @ Connected Car

Evaluation Criteria

� Compliance to Standards

� Based on components that implement standards

Page 31: WSO2 @ Connected Car

Evaluation Criteria

� Mobile and Wireless Communications StandardsMobile and Wireless Communications StandardsMobile and Wireless Communications StandardsMobile and Wireless Communications Standards

� UMTS

� LTE

� GSM

� WiFi (IEEE 802.11)

� Network ProtocolsNetwork ProtocolsNetwork ProtocolsNetwork Protocols

� TCP

� UDP

� HTTP

� FTP

� SMTP

� POP3

� OMA DM

� Network Cryptographic ProtocolsNetwork Cryptographic ProtocolsNetwork Cryptographic ProtocolsNetwork Cryptographic Protocols

� SSL

� TLS

� Data Definition and RetrievalData Definition and RetrievalData Definition and RetrievalData Definition and Retrieval

� XML

� XML Schema (XSD)

� JSON

� SQL

� Web Service Standards and ProtocolsWeb Service Standards and ProtocolsWeb Service Standards and ProtocolsWeb Service Standards and Protocols

� WSDL, RESTful HTTP

� SOAP

� WS-Security

� WS-Policy

� WS-Interop

� SecuritySecuritySecuritySecurity

� SAML

� XACML

� XKMS

� X.509

� Runtime PlatformsRuntime PlatformsRuntime PlatformsRuntime Platforms

� JVM

� OSGi

� Design and DevelopmentDesign and DevelopmentDesign and DevelopmentDesign and Development

� Java Enterprise Edition 6.0 (JPA, EJB 3.0, JMS, JMX, JSF, JAAS, JAX-WS, JAX-RS)

� HTML 5

� UML 2.0

� SOA, MDSD

� De facto standard frameworks Spring and Hibernate

Page 32: WSO2 @ Connected Car

Evaluation Criteria

Result:

�WSO2 looks good concerning the evaluation criteria

Page 33: WSO2 @ Connected Car

3

33

Page 34: WSO2 @ Connected Car

Operational Criteria

Assume we have operators…

�… in a large data center

�… running a critical system

�… with some responsibility for smooth operation also on application level

Page 35: WSO2 @ Connected Car

Operational Criteria

� Installation

� Flexibility – Virtualization, Terminal Server, Ports etc.works fine

� Limited interaction – scriptscomplete automatic installation possible

� Simple Configurationfew configuration files

Page 36: WSO2 @ Connected Car

Operational Criteria

� Patch Installation

� Patch Strategyjust directories & database

� Patch Deinstallationrestore files / db reimport

Page 37: WSO2 @ Connected Car

Operational Criteria

� Integrity

� Transactionalityto some degree, but we have a SOA

� Poison message problemfault queues supported, still really difficult

� Integrity checks

� Load balancing

Page 38: WSO2 @ Connected Car

Operational Criteria

� Availability

� Online Backup

� Consistency after reconnect

� Consistency after crash

� Consistency after point-in-time recoverybad problem in distributed systems

� Disaster tolerance

Page 39: WSO2 @ Connected Car

Operational Criteria

� Scalability and Performance

� Cluster / farm support

� Load balancing

Page 40: WSO2 @ Connected Car

Operational Criteria

� Security

� Three layers – presentation, application, storage

� Partitioning – demilitarized zones

Page 41: WSO2 @ Connected Car
Page 42: WSO2 @ Connected Car

Operational Criteria

� More Security

� SSL / certificatesSSL out-of-the-box

� Loggingnice job for an ESB

� LDAP & password management

Page 43: WSO2 @ Connected Car

Operational Criteria

� Even more Security

� Security concept

� Baseline Protection („IT-Grundschutz“)>4000 pages provided by the german BSI

Page 44: WSO2 @ Connected Car

Operational Criteria

� Privacy

� Compliance with Data Protection Acts

� Data Economydo not take more data than necessary

� Data Reductionerase data, even backups

Page 45: WSO2 @ Connected Car

Operational Criteria

� Administration

� Scheduling

� Shutdown (friendly, fast, abort) preferably not kill -9

Page 46: WSO2 @ Connected Car

Operational Criteria

� Monitoring

� of availabilityecho services

� of resourcesmemory, cpu, network, processes, threads

� of performancesimilar to BAM

Page 47: WSO2 @ Connected Car

Operational Criteria

� Monitoring

� Logging / log levels

� Logging to the database

� Event Correlationusing global identifiers in messages

� Auditing acceptabilityin some cases required by law

Page 48: WSO2 @ Connected Car

Operational Criteria

� Maintainability

� Configurability

� Limited downtime

� Online reconfiguration

� Versioning

� Extensibility

Page 49: WSO2 @ Connected Car

Operational Criteria

…a lot of stuff, and WSO2 meets the requirements.

And one more:

�Professional Support

� for analysis / bugfixing

… and for a Quickstart Workshop.

Page 50: WSO2 @ Connected Car

4

50

Page 51: WSO2 @ Connected Car

Quickstart Workshop

Quickstart Workshop

�Time & Place:

� 6 days in June 2011 in Bonn / Germany

�Team:

� 2 architects/developers from WSO2

� about 4 architects/developers from T-Systems

�Goal:

� Proof of concept for the required features

Page 52: WSO2 @ Connected Car

Quickstart Workshop

�Installation

� really simple – just unzip, change ports, and run!

� only 4s per ESB

� plus 30-60s to start up

Page 53: WSO2 @ Connected Car

Quickstart Workshop

�ESB Management Console

Pitfalls:

only one login cookieper host in a browser

… and we used ssh port forwarding to localhost

� maybe use several hostnames per host

SSL Certificates and hostname vs. DNS name vs. IP

symptom: empty soap request templates

� using hostnames worked for us

Page 54: WSO2 @ Connected Car

Quickstart Workshop

�SOAP Proxy

� straight forward

� may include WSDL

Pitfalls:

references to XSDs

� set schemaLocation in <xs:import>

reachable by the browser vs. reachable by the ESB

Page 55: WSO2 @ Connected Car

Quickstart Workshop<?xml version="1.0" encoding="UTF-8"?>

<proxy xmlns="http://ws.apache.org/ns/synapse" name="Soap2SoapProxy"transports="https http" startOnLoad="true" trace="disable">

<target><endpoint><address uri="http://1.2.3.4:8080/service/soap" format="soap11"/>

</endpoint><inSequence><log level="full"/>

</inSequence><outSequence><log level="full"><property name="out" value="out"/>

</log><send/>

</outSequence></target>

<publishWSDL>…

</publishWSDL></proxy>

</xml>

Page 56: WSO2 @ Connected Car

Quickstart Workshop

�HTTP GET Proxy

� simple

<rewriterule><action value="" regex="/services/MyProxy"

type="replace" fragment="path"/>

</rewriterule>

Page 57: WSO2 @ Connected Car

Quickstart Workshop

�Restful HTTP POST Proxy

� set ContentType, messageType, HTTP_METHOD

� trivial

Pitfall:

POST parameters got lost

� fixed by WSO2

Page 58: WSO2 @ Connected Car

Quickstart Workshop

�HTTP SOAP to GET Proxy

� extract variables via xpath

<enrich>

<source clone="true“

xpath="//query-string/text()"/>

<target type="property" property="POSTFIX"/>

</enrich>

� build URL

<property name="REST_URL_POSTFIX"

expression="fn:concat('service/insert?',get-property('POSTFIX') )"

scope="axis2"/>

Page 59: WSO2 @ Connected Car

Quickstart Workshop

�Custom Protocol (TCP) Proxy

� Implement and deploy two Java classes:

� custom MessageBuilder

� custom MessageFormatter

� requires axis2-wso2.jar

� quite easy

Page 60: WSO2 @ Connected Car

Quickstart Workshop

�Portability of ESB configuration

� in filesystem: simple copy

� in Governance Registry: export/import

� very nice and simple!

Pitfalls:

ESB must be running when the files are deployed,otherwise they are never read

Resources must be deployed first,otherwise proxy definitions may complain about missing files

Page 61: WSO2 @ Connected Car

Quickstart Workshop

�Filtering and Dynamic Routing

<filter xpath="fn:number(get-property('a')) > 10"><then><send />

</then><else><header name="To"expression="get-property('ENDPOINT')"/><send/>

</else></filter>

clean, but still verbose compared to non-xml languages“if ($a > 10) send(); else send(to => $endpoint)“

Page 62: WSO2 @ Connected Car

Quickstart Workshop

�Mapping based on DB table

<dblookup><connection><pool>

<password>wso2</password><user>wso2</user><url>jdbc:mysql://192.168.3.4:3306/wso2</url><driver>com.mysql.jdbc.Driver</driver>

</pool></connection><statement>

<sql>select mapped_id from mapping_table where id = ?</sql><parameter expression="get-property('ID')" type="VARCHAR"/><result name="mapped_id" column="mapped_id"/>

</statement></dblookup>

Page 63: WSO2 @ Connected Car

Quickstart Workshop

�Sequence Number Generation

� via database lookup

Page 64: WSO2 @ Connected Car

Quickstart Workshop

�Random Number Generation – Javascript

<inSequence><script language="js">var randomnumber = Math.floor(Math.random()*10);mc.setProperty("GeneratedID", randomnumber);</script><xslt key="IdMapper.xslt">

<property name="NEW_ID_VALUE"expression="get-property('GeneratedID')"/>

</xslt></inSequence>

Page 65: WSO2 @ Connected Car

Quickstart Workshop

�Traffic Shaping

� Throttling at Service Level

� Throttling at Mediator Level

� <throttle>-Sequence

� Policies

� Prioritization

� <priorityExecutor>

Page 66: WSO2 @ Connected Car

Quickstart Workshop

� Message Handling

� Buffering via JMS queue

� e. g. Apache qpid, ActiveMQ

� Resend

� Dead letter queue

Page 67: WSO2 @ Connected Car

Quickstart Workshop

� SSL

� the usual steps for handling certificates

� otherwise very simple

Page 68: WSO2 @ Connected Car

Quickstart Workshop

� WS-Security

� the usual steps for handling certificates

� and some stuff to declare the policy

� but otherwise quite simple

Page 69: WSO2 @ Connected Car

Quickstart Workshop

� OpenID

� ESB as an OpenID provider

�SAML

� ESB as a security token service

� quite some stuff to do

�SAML2 single sign on

Page 70: WSO2 @ Connected Car

Quickstart Workshop

� Business Activity Monitoring

� WSO2 BAM server

� ESBs cache and send events to BAM

� e. g. count by xpath expression

Page 71: WSO2 @ Connected Car

Quickstart Workshop

�Benchmarks

� with JVM memory settings increased

� up to 1680 req/s for SOAP proxy

� with client/ESB/backend running in VMson a single host with 2 x Xeon X7460

difficult to measure on VMs

� at least reasonable fast

Pitfalls:

the ESB may be faster than your client or backend

Page 72: WSO2 @ Connected Car

Quickstart Workshop

Result of the Quickstart Workshop:

� WSO2 Components really work fine

Final Result:

� Let‘s try and take WSO2

� all necessary features

� sufficiently mature

� relatively lightweight

� very good personal support

Page 73: WSO2 @ Connected Car

5

73

Page 74: WSO2 @ Connected Car

ESB Proxies

Back to the real world…

Page 75: WSO2 @ Connected Car

Operational Support ServicesOperational Support ServicesOperational Support ServicesOperational Support Services Business Support ServicesBusiness Support ServicesBusiness Support ServicesBusiness Support Services

EnablingEnablingEnablingEnabling ServicesServicesServicesServices

External

Billing

External

Billing

Portal

Solutions

Portal

Solutions

Rental

Services

Rental

Services

Central Connected Car Platform Central Connected Car Platform Central Connected Car Platform Central Connected Car Platform (CCCP) (CCCP) (CCCP) (CCCP) ---- Big PictureBig PictureBig PictureBig Picture

Security

Security

Security

Security

Security

Security

Security

Security

cache

cache

cache

cache

……

SMSSMS

SOAPSOAP

JSONJSON

ProtocolProtocolProtocolProtocol

HandlersHandlersHandlersHandlers

Buffer Buffer Buffer Buffer

QueuesQueuesQueuesQueues

DeviceDeviceDeviceDevice GatewayGatewayGatewayGateway

M2M-

Admin

M2M-

Admin

CallCenterCallCenter

External

CRM

External

CRM

DT Payment

Services

DT Payment

Services

SOA

Backplane

SOA

Backplane

External External External External

Service Service Service Service

IntegratorIntegratorIntegratorIntegrator

Content

Provider

Content

Provider

Service Integration BusService Integration BusService Integration BusService Integration Bus

CoreCoreCoreCore ServicesServicesServicesServices

cache

cache

cache

cache

Download Download Download Download GatewayGatewayGatewayGateway

OEM

Plattform

OEM

PlattformCentral Database Central Database Central Database Central Database

ServicesServicesServicesServices

External

Payment

External

Payment

TCPTCP

httphttp

TCP

http

TCP

http

Security

Security

Security

Security

Security

Security

Security

Security

Service PortalService PortalService PortalService Portal

TCPTCP

httphttp

TCP

http

cache

cache

cache

cache

Security

Security

Security

Security

Security

Security

Security

Security

TCPTCP

httphttp

Page 76: WSO2 @ Connected Car

ESB Proxies

� Automatic ESB installation

� unzip, change ports etc.

� delivery built by Jenkins

� Automatic service installation

� One script to set up everything from scratch

Page 77: WSO2 @ Connected Car

ESB Proxies

�Task #1: Proxies for existing SOAP services

� 33 services, 159 XSDs

� modelled in Enterprise Architect

� WSDLs generated via EMF scripts (xtend/xpand)

Page 78: WSO2 @ Connected Car

ESB Proxies

Strategy:

� convert existing WSDL/XSDsto ESB proxy service definitions

� by XSLT called by ant

� customized by a host-specific config file with URLs

� deploy to the ESB via file copy

Pitfall:

Do not use subdirectories for XSDs!

Page 79: WSO2 @ Connected Car

ESB Proxies

�Task #2: Proxy for another SOAP service (task #2)

� simple

Pitfalls:

Every external real-world service seems to be a little different

namespaces, path conventions, casing,dependencies on external XSDs…

Page 80: WSO2 @ Connected Car

ESB Proxies

�Task #3: Proxy for non-XML HTTP POST and GET service

� use URL rewrite

� set body via <enrich>

Pitfalls:

Make sure to set no-proxy in your browser.

And make sure the browser cares.

Don‘t be fooled by your browser‘s cache.

� Use TcpMon!

Page 81: WSO2 @ Connected Car

ESB Proxies

�Task #4: Proxy with Transformation

� define XSLT mediators for in and out sequences

� generate ID via JavaScript

Pitfalls:

Enough. XSLT is designed for simple transformations,

not as a comfortable full-featured language.

Make sure your service is redeployed when necessary.

Changing just an XSLT may not be sufficient.

Page 82: WSO2 @ Connected Car

ESB Proxies

�Task #5: Proxy for binary XML

� one proxy for both XML and WB-XML

� use ApplicationXMLBuilder / -Formatter

Pitfalls:

It‘s simple as soon as you have found the right builder/formatterand the right options.

DISABLE_CHUNKING was required.

Page 83: WSO2 @ Connected Car

ESB Proxies

�Task #6: Proxy for POST with Query Parameters

� simple

Pitfalls:

Hit a bug - Query Parameters got dropped

� inSequence works fine if an URL rewrite is inserted

� Fix provided by WSO2

Page 84: WSO2 @ Connected Car

ESB Proxies

� Result:

� Everything works so far!

after fixing a bunch of simple problems

Page 85: WSO2 @ Connected Car

6

85

Page 86: WSO2 @ Connected Car

Operational Support ServicesOperational Support ServicesOperational Support ServicesOperational Support Services Business Support ServicesBusiness Support ServicesBusiness Support ServicesBusiness Support Services

EnablingEnablingEnablingEnabling ServicesServicesServicesServices

External

Billing

External

Billing

Portal

Solutions

Portal

Solutions

Rental

Services

Rental

Services

Central Connected Car Platform Central Connected Car Platform Central Connected Car Platform Central Connected Car Platform (CCCP) (CCCP) (CCCP) (CCCP) ---- Big PictureBig PictureBig PictureBig Picture

Security

Security

Security

Security

Security

Security

Security

Security

cache

cache

cache

cache

……

SMSSMS

SOAPSOAP

JSONJSON

ProtocolProtocolProtocolProtocol

HandlersHandlersHandlersHandlers

Buffer Buffer Buffer Buffer

QueuesQueuesQueuesQueues

DeviceDeviceDeviceDevice GatewayGatewayGatewayGateway

M2M-

Admin

M2M-

Admin

CallCenterCallCenter

External

CRM

External

CRM

DT Payment

Services

DT Payment

Services

SOA

Backplane

SOA

Backplane

External External External External

Service Service Service Service

IntegratorIntegratorIntegratorIntegrator

Content

Provider

Content

Provider

Service Integration BusService Integration BusService Integration BusService Integration Bus

CoreCoreCoreCore ServicesServicesServicesServices

cache

cache

cache

cache

Download Download Download Download GatewayGatewayGatewayGateway

OEM

Plattform

OEM

PlattformCentral Database Central Database Central Database Central Database

ServicesServicesServicesServices

External

Payment

External

Payment

TCPTCP

httphttp

TCP

http

TCP

http

Security

Security

Security

Security

Security

Security

Security

Security

Service PortalService PortalService PortalService Portal

TCPTCP

httphttp

TCP

http

cache

cache

cache

cache

Security

Security

Security

Security

Security

Security

Security

Security

TCPTCP

httphttp

Page 87: WSO2 @ Connected Car

Next Steps

� NGTP (Next Generation Telematics Pattern)

� Binary messages

� Header may be processed by the ESB

� Plugin (Builder) to be implemented in Java

Page 88: WSO2 @ Connected Car

by NGTP Group, cc-by-sa, http://creativecommons.org/licenses/by-sa/3.0/legalcode

Page 89: WSO2 @ Connected Car

Next Steps

�Hardware Security Modules (Cryptoserver)

� Idea of HSMs:

� Offer restricted set of cryptographic operations

� But keep the keys inside

Page 90: WSO2 @ Connected Car

Next Steps

Why use Hardware Security Modules?

� Keys kept secure

� Hardware acceleration

� Non-standard implementations

Page 91: WSO2 @ Connected Car

Next Steps

�Using a Hardware Security Module

� Typically some binary TCP protocol

� Java module for the ESB may be developed

� With all operational requirements:

� Reconnect, failover, logging, …

Page 92: WSO2 @ Connected Car

Next Steps

�OSGi

� 2 ways to deploy services

� as a stand-alone web service e. g. on Tomcat

� as an OSGi module within the ESB or within Carbon

� Maybe go for OSGi

� Easier to handle?

� Better dependency management?

� With less resources?

� Better deployment options?

Page 93: WSO2 @ Connected Car

Next Steps

�WSO2 Stratos

� Software for Platform as a Service (PaaS)

� T-Systems plans to become a PaaS Providerfor the Connected Car Platform

Page 94: WSO2 @ Connected Car

Elektromobility Services based on the Connected Car Platform.

Existing services: Planned services:

� Mobility Services: choose best means of

transport

� Driver-specific informationen: e. g. heating

dependent on data from a server

� Charging: Authentifikation/Authorization,

Charge Control, Billing

� Track/Trace/Locate: where is my car,

when will I arrive?

� Diagnosis/Maintenance/Health:

Charge status, Status of eCar

components

� POI/Navigation: next Charging Point

Page 95: WSO2 @ Connected Car

Summary

�T-Systems provides the Connected Car Platform

� Generic platform for services used in cars

� WSO2 contributes the Middleware

� ESB

� Governance Registry, Identity Server, Stratos

�Development is ongoing

Page 96: WSO2 @ Connected Car

Thank you for your attention.

======!"§==Systems=Dr. Andreas WichmannSystems Integration.Systems Integration.Systems Integration.Systems Integration.

T-Systems GEI GmbH

Vorgebirgsstr. 49, 53111 Bonn

Phone: +49 228 9841 4447

Fax: +49 228 9841 5158

Mobile: +49 170 9223 406

E-Mail: [email protected]

Address:

Contact: