This document discusses using a service-oriented architecture (SOA) approach for software in cars. It proposes using Web Services Definition Language (WSDL) to define services between electronic control units (ECUs) in a car. WSDL could describe the services in a way that is transport and protocol independent. Extensions to WSDL would be needed to support fixed format messages and the CAN bus transport typically used in cars. An additional extensor could provide a way to access services uniformly. Adopting concepts from application SOA could help address challenges of increasing software complexity as more ECUs are added to modern vehicles.
Roland Tritsch discusses using AJAX and Apache projects to build mobile applications. He notes the rise of mobile devices and importance of developing for mobile. While native apps have high costs, AJAX has low costs but may provide good enough results. Apache ServiceMix, ActiveMQ and CXF can form a server-side SOA platform, while CXF's code generation capabilities simply client development. With the right requirements, AJAX is viable for mobile if services are properly wrapped.
This document provides an overview of a Scala module being taught at Trinity College Dublin in November 2012. It will include a 90 minute lecture introducing Scala, and two labs: the first rewriting a Java program in Scala, and the second integrating Scala with Java using Apache Commons. The goals are to kickstart learning Scala so students can continue on their own, focusing on the language and development environment rather than functional programming concepts. The module will use Git, SBT, Scala, ScalaTest, and an IDE like IntelliJ or Eclipse. Resources listed for further learning include the Scala website, Coursera course, and Scala puzzles and problems.
Immutable Deployment Platforms and Continuos Delivery - Friends or Foes?Roland Tritsch
Talk on the value of immutability for deployment platforms and how this is going to help Gilt to deliver on it's vision of "All-Ops & Zero-Waiting" and how continuos delivery and immutable deployments and continuos analysis will come together to great a feedback loop that will allow engineers to iterate and innovate even faster.
Delivered at http://futurestack.io in October 2013.
"Managed Customization” in the Garment Industry - 10/2010Roland Tritsch
“Managed Customization” in the Garment Industry
4th International Conference on Mass Customization and Personalization in Central Europe (MCP - CE 2010)
RESTful Services and Distributed OSGi - 04/2009Roland Tritsch
This document discusses RESTful services and distributed OSGi. It provides an introduction to OSGi and REST, explaining how OSGi bundles work and the key concepts of REST interfaces. It describes how services can be exposed from an OSGi container to REST, and how REST services can be consumed from OSGi. Distributed OSGi allows remote invocations between OSGi containers. The document discusses challenges in making distributed OSGi and REST work together seamlessly and potential next steps.
Reactive Programming Meetup - NodeJs on K8sRoland Tritsch
This document summarizes a presentation on reactive programming, immutable deployments using Kubernetes and Google Container Engine. The presentation covers reactive programming principles, immutable deployments inspired by functional programming, and concepts of Kubernetes including clusters, nodes, pods and services. It also demonstrates upgrading a running Node.js application on a Kubernetes cluster and discusses considerations for building reactive systems including using hosted container platforms and continuous integration tools.
Scala, Android & BLE - Scala Meetup Dublin - Hands on code walkthroughRoland Tritsch
This document discusses using Scala for Android development. It introduces various build tools like Gradle and SBT that can be used to create Scala Android projects. It also presents two UI frameworks called Macroid and Scaloid that allow building Android UIs with Scala. Finally, it discusses using Scala for Bluetooth Low Energy (BLE) development and provides links to example projects on GitHub.
SMACK Stack @ Nitro
Roland Tritsch is a 50% software engineer, 50% manager/builder of organizations, and 50% seller/implementer of ideas. He previously worked at IONA and Cyclist and is a father and husband.
Nitro is changing the way the world works with documents by making it easy to create, edit, share, sign and collaborate both online and offline. They are moving to a SAAS model hosted on bare metal and cloud servers, powered by machine learning, data analytics and natural language processing. Nitro's technology is based on the SMACK stack of Spark, Mesos, Akka, Cassandra and Kafka.
The SMACKED stack involves
Roland Tritsch discusses using AJAX and Apache projects to build mobile applications. He notes the rise of mobile devices and importance of developing for mobile. While native apps have high costs, AJAX has low costs but may provide good enough results. Apache ServiceMix, ActiveMQ and CXF can form a server-side SOA platform, while CXF's code generation capabilities simply client development. With the right requirements, AJAX is viable for mobile if services are properly wrapped.
This document provides an overview of a Scala module being taught at Trinity College Dublin in November 2012. It will include a 90 minute lecture introducing Scala, and two labs: the first rewriting a Java program in Scala, and the second integrating Scala with Java using Apache Commons. The goals are to kickstart learning Scala so students can continue on their own, focusing on the language and development environment rather than functional programming concepts. The module will use Git, SBT, Scala, ScalaTest, and an IDE like IntelliJ or Eclipse. Resources listed for further learning include the Scala website, Coursera course, and Scala puzzles and problems.
Immutable Deployment Platforms and Continuos Delivery - Friends or Foes?Roland Tritsch
Talk on the value of immutability for deployment platforms and how this is going to help Gilt to deliver on it's vision of "All-Ops & Zero-Waiting" and how continuos delivery and immutable deployments and continuos analysis will come together to great a feedback loop that will allow engineers to iterate and innovate even faster.
Delivered at http://futurestack.io in October 2013.
"Managed Customization” in the Garment Industry - 10/2010Roland Tritsch
“Managed Customization” in the Garment Industry
4th International Conference on Mass Customization and Personalization in Central Europe (MCP - CE 2010)
RESTful Services and Distributed OSGi - 04/2009Roland Tritsch
This document discusses RESTful services and distributed OSGi. It provides an introduction to OSGi and REST, explaining how OSGi bundles work and the key concepts of REST interfaces. It describes how services can be exposed from an OSGi container to REST, and how REST services can be consumed from OSGi. Distributed OSGi allows remote invocations between OSGi containers. The document discusses challenges in making distributed OSGi and REST work together seamlessly and potential next steps.
Reactive Programming Meetup - NodeJs on K8sRoland Tritsch
This document summarizes a presentation on reactive programming, immutable deployments using Kubernetes and Google Container Engine. The presentation covers reactive programming principles, immutable deployments inspired by functional programming, and concepts of Kubernetes including clusters, nodes, pods and services. It also demonstrates upgrading a running Node.js application on a Kubernetes cluster and discusses considerations for building reactive systems including using hosted container platforms and continuous integration tools.
Scala, Android & BLE - Scala Meetup Dublin - Hands on code walkthroughRoland Tritsch
This document discusses using Scala for Android development. It introduces various build tools like Gradle and SBT that can be used to create Scala Android projects. It also presents two UI frameworks called Macroid and Scaloid that allow building Android UIs with Scala. Finally, it discusses using Scala for Bluetooth Low Energy (BLE) development and provides links to example projects on GitHub.
SMACK Stack @ Nitro
Roland Tritsch is a 50% software engineer, 50% manager/builder of organizations, and 50% seller/implementer of ideas. He previously worked at IONA and Cyclist and is a father and husband.
Nitro is changing the way the world works with documents by making it easy to create, edit, share, sign and collaborate both online and offline. They are moving to a SAAS model hosted on bare metal and cloud servers, powered by machine learning, data analytics and natural language processing. Nitro's technology is based on the SMACK stack of Spark, Mesos, Akka, Cassandra and Kafka.
The SMACKED stack involves
The HARE execution model looks at scaling operating systems and runtimes to large supercomputers with thousands to millions of cores. It uses an alternative approach based on the Plan 9 distributed operating system for hardware support, systems infrastructure, and distributed services. Key components include BRASIL, a stripped down Inferno operating system, nompirun for legacy-friendly job launching, and a workload optimized distribution model using multipipes and filters running in a PUSH dataflow model. Central services establish a hierarchical namespace across cluster resources.
The document discusses results from a pilot program testing the Artoo Slate device for microfinance work. Key findings include:
- Field agents were able to complete collections and update customer profiles faster using the device versus previous paper-based processes. Collections data could be updated within 1 hour versus 3-5 days previously.
- Over 55 lakh rupees was collected during the collections week pilot, with over 6,400 transactions completed digitally.
- Customer profiles were created for 56 customers in an average of 18-20 minutes using the device, capturing details, signatures and documents digitally.
- Defaulter reports generated from the device provided real-time actionable data on reasons for default and
This document discusses Rails and FreeWheel's use of Rails for their monetization platform. Some key points:
- FreeWheel uses Rails for their MRM/RPM user interface and has upgraded their Rails version over time from 1.2 to 3.1.
- They take a quick development approach using Rails conventions but also optimize for performance.
- Their architecture includes Rails modules, widgets built with jQuery, and a Unicorn HTTP server for handling requests.
This document discusses Rails and FreeWheel. It provides an overview of how FreeWheel uses Rails for its monetization rights management (MRM) and revenue and payments management (RPM) user interfaces. It describes FreeWheel's transition from Rails 1.2 to Rails 3.0, improvements made to the codebase, and how widgets were developed to enhance the user experience.
At wooga the separate game teams operate their own games. That means that two developers not only develop the backend for a social game but they also the administrator's part.
This presentation gives an insight on how this is done, what tools are used and how the most important challenges were solved.
Open Source Market Overview OW2con11, Nov 24-25, ParisOW2
The document discusses trends in the IT industry including the growth of open source software (OSS) and cloud computing. It notes that cloud computing is driving an industrial revolution in IT, transitioning it from a workforce-intensive to capital-intensive industry. Data shows that the OSS market is growing much faster than the traditional software market. Cloud and OSS are transforming the IT value chain and are largely seen as friendly forces that increase competition, collaboration and standardization.
The "Babelfish" system is built with Scala and runs in the Java Virtual Machine. For graph persistence, a neo4j database with Lucene index is used. A generic importer module reads data from various data sources and persists them in a version-aware way, using the domain model as a schema. The schema is used by our domain specific language to statically verify queries. Query results can either be in the form of graphs or tables. For the latter, an additional step uses an in-memory SQL-Database for further processing of the results. Queries in the generated DSL can be submitted via a REST interface. The server uses json4s for serialization of the results. This interface as well as the deployable war-file is generated by the web framework Scalatra.
Imola informatica - cloud computing and software developmentFilippo Bosi
This document provides an agenda and overview of a cloud computing workshop held in September 2011. The agenda includes an overview of cloud computing, its impacts on software development, and a hands-on demonstration of Platform as a Service (PaaS). Key concepts discussed include Infrastructure as a Service (IaaS) using Amazon EC2, PaaS options like Google App Engine, CloudBees, and RedHat OpenShift. Developing applications on IaaS provides more control but requires managing infrastructure, while PaaS hides these details and allows focusing on development.
What is a Service Mesh and what can it do for your MicroservicesMatt Turner
e’ll explore what a service mesh is and what it can do for your microservices. Are the claims of observability, resiliency, and WAF features real? Are they useful during development, production, or both? Using pictures and demos, we’ll find out!
This session will also briefly cover how a service mesh works, giving us a mental model with which to explore and evaluate after the talk. Matt will show a simple installation and demo, giving us all the knowledge to go home and try for ourself.
JaanSi provides IT solutions and services based on open source software including customization, implementation, training, and maintenance. They offer solutions for businesses, education, and knowledge management using platforms like Google Docs and open source platforms. JaanSi operates out of Thailand with plans to expand to India, and works with clients including PTTEP and UN agencies.
High performance for a Web server that receive a large numbers of requests is critical success factor for a web site, but in many cases the Web server is only “tip of the iceberg” of a very large heterogeneous systems, with lots of components and technologies. This talk present best practices to design an high availability and high performance web site. The presentation will cover load balancing, Web server acceleration, and efficient management of dynamic data, that can be adopted by any sites to improve performance and availability. We also describe common mistake implemented in the web application framework that create performance limitations and bottleneck. The presentation will describe how to define monitors metrics of the service , that are the “eyes” of operation departments, and the implementation of the “red button”
The document discusses the evolution of architecture at the gaming company Wooga. It began by using Ruby on Rails with a MySQL database, which worked for low user numbers but struggled as users grew. A second team then used Redis as the main database instead of MySQL for its speed. The teams combined approaches, migrating static data to MySQL and keeping dynamic data in Redis. This allowed scaling to millions of daily users. The architecture evolved further to make servers and databases stateless to improve reliability.
Jenkins is an open-source automation server that was created in 2004 as a hobby project. It has seen widespread adoption with over 75% of users upgrading from legacy systems. CloudBees provides commercial support for Jenkins and uses a dual-licensing model, offering Jenkins as open-source while also providing professional and hosted versions with additional features. They aim to catalyze the ecosystem around continuous delivery and serve as a platform for Java applications.
The document discusses a holistic aggregate resource environment project involving IBM Research, Sandia National Labs, Bell Labs, and CMU. The goals of the project include leveraging aggregation as a first-class systems construct, distributing system services throughout supercomputers, and exploring native interconnect utilization. Research topics discussed include offload/acceleration models, right-weight kernels, and topologies.
This presentation discusses Mule ESB and how to simplify integration. It briefly mentions a brief history of integration, information silos, SOA. It also highlights several integration patterns.
Scaling a Rails Application from the Bottom Up Abhishek Singh
The document outlines Jason Hoffman's presentation on scaling a Rails application from the bottom up. It discusses fundamental limits like money, time, and hardware resources. It provides examples of logical server roles needed for a scalable architecture including provisioning, monitoring, logging etc. It also discusses hardware considerations like power, space, and networking. The presentation emphasizes standardization, virtualization, and keeping infrastructure costs below 10% of revenue.
Computer networking systems connect local area networks (LANs) in three main ways:
1. LANs use technologies like switches and routers to connect devices within a building or campus.
2. Metropolitan area networks (MANs) connect multiple LANs within a city using technologies like fiber optic cables.
3. Wide area networks (WANs) connect LANs over longer distances between cities using technologies like satellites or telecommunication lines.
Together, LANs, MANs, and WANs allow devices and users to share resources and communicate over both short and long distances.
Moved to https://slidr.io/azzazzel/web-application-performance-tuning-beyond-xmxMilen Dyankov
This slide deck will be removed from here in the future. It has been moved to : https://slidr.io/azzazzel/web-application-performance-tuning-beyond-xmx
Shared-Nothing Microservices Architectures ... and how to get there @ 404.ie ...Roland Tritsch
This document discusses shared-nothing microservice architectures and how to transition to them. It notes that shared state is problematic and microservices should be stateless when possible. It outlines benefits of microservices like independent scaling and high availability. The document also describes gradually transitioning from a monolith to microservices by eliminating shared state, introducing messaging, and breaking up databases. It shares experiences from Gilt and Nitro in making these transitions over several years.
Mobile Monday - WebServices on the iPhone - 05/2008Roland Tritsch
The document discusses approaches to developing mobile applications for the iPhone. It summarizes that native development using the iPhone SDK provides high-quality results but at a high cost, while browser-based approaches using AJAX are lower cost but provide more limited capabilities. It then focuses on using the Apache CXF framework to generate code for calling web services from iPhone applications in order to reduce development time compared to manually coding web service requests in JavaScript. The presentation provides resources for learning more about developing for the iPhone and mobile applications more generally.
The HARE execution model looks at scaling operating systems and runtimes to large supercomputers with thousands to millions of cores. It uses an alternative approach based on the Plan 9 distributed operating system for hardware support, systems infrastructure, and distributed services. Key components include BRASIL, a stripped down Inferno operating system, nompirun for legacy-friendly job launching, and a workload optimized distribution model using multipipes and filters running in a PUSH dataflow model. Central services establish a hierarchical namespace across cluster resources.
The document discusses results from a pilot program testing the Artoo Slate device for microfinance work. Key findings include:
- Field agents were able to complete collections and update customer profiles faster using the device versus previous paper-based processes. Collections data could be updated within 1 hour versus 3-5 days previously.
- Over 55 lakh rupees was collected during the collections week pilot, with over 6,400 transactions completed digitally.
- Customer profiles were created for 56 customers in an average of 18-20 minutes using the device, capturing details, signatures and documents digitally.
- Defaulter reports generated from the device provided real-time actionable data on reasons for default and
This document discusses Rails and FreeWheel's use of Rails for their monetization platform. Some key points:
- FreeWheel uses Rails for their MRM/RPM user interface and has upgraded their Rails version over time from 1.2 to 3.1.
- They take a quick development approach using Rails conventions but also optimize for performance.
- Their architecture includes Rails modules, widgets built with jQuery, and a Unicorn HTTP server for handling requests.
This document discusses Rails and FreeWheel. It provides an overview of how FreeWheel uses Rails for its monetization rights management (MRM) and revenue and payments management (RPM) user interfaces. It describes FreeWheel's transition from Rails 1.2 to Rails 3.0, improvements made to the codebase, and how widgets were developed to enhance the user experience.
At wooga the separate game teams operate their own games. That means that two developers not only develop the backend for a social game but they also the administrator's part.
This presentation gives an insight on how this is done, what tools are used and how the most important challenges were solved.
Open Source Market Overview OW2con11, Nov 24-25, ParisOW2
The document discusses trends in the IT industry including the growth of open source software (OSS) and cloud computing. It notes that cloud computing is driving an industrial revolution in IT, transitioning it from a workforce-intensive to capital-intensive industry. Data shows that the OSS market is growing much faster than the traditional software market. Cloud and OSS are transforming the IT value chain and are largely seen as friendly forces that increase competition, collaboration and standardization.
The "Babelfish" system is built with Scala and runs in the Java Virtual Machine. For graph persistence, a neo4j database with Lucene index is used. A generic importer module reads data from various data sources and persists them in a version-aware way, using the domain model as a schema. The schema is used by our domain specific language to statically verify queries. Query results can either be in the form of graphs or tables. For the latter, an additional step uses an in-memory SQL-Database for further processing of the results. Queries in the generated DSL can be submitted via a REST interface. The server uses json4s for serialization of the results. This interface as well as the deployable war-file is generated by the web framework Scalatra.
Imola informatica - cloud computing and software developmentFilippo Bosi
This document provides an agenda and overview of a cloud computing workshop held in September 2011. The agenda includes an overview of cloud computing, its impacts on software development, and a hands-on demonstration of Platform as a Service (PaaS). Key concepts discussed include Infrastructure as a Service (IaaS) using Amazon EC2, PaaS options like Google App Engine, CloudBees, and RedHat OpenShift. Developing applications on IaaS provides more control but requires managing infrastructure, while PaaS hides these details and allows focusing on development.
What is a Service Mesh and what can it do for your MicroservicesMatt Turner
e’ll explore what a service mesh is and what it can do for your microservices. Are the claims of observability, resiliency, and WAF features real? Are they useful during development, production, or both? Using pictures and demos, we’ll find out!
This session will also briefly cover how a service mesh works, giving us a mental model with which to explore and evaluate after the talk. Matt will show a simple installation and demo, giving us all the knowledge to go home and try for ourself.
JaanSi provides IT solutions and services based on open source software including customization, implementation, training, and maintenance. They offer solutions for businesses, education, and knowledge management using platforms like Google Docs and open source platforms. JaanSi operates out of Thailand with plans to expand to India, and works with clients including PTTEP and UN agencies.
High performance for a Web server that receive a large numbers of requests is critical success factor for a web site, but in many cases the Web server is only “tip of the iceberg” of a very large heterogeneous systems, with lots of components and technologies. This talk present best practices to design an high availability and high performance web site. The presentation will cover load balancing, Web server acceleration, and efficient management of dynamic data, that can be adopted by any sites to improve performance and availability. We also describe common mistake implemented in the web application framework that create performance limitations and bottleneck. The presentation will describe how to define monitors metrics of the service , that are the “eyes” of operation departments, and the implementation of the “red button”
The document discusses the evolution of architecture at the gaming company Wooga. It began by using Ruby on Rails with a MySQL database, which worked for low user numbers but struggled as users grew. A second team then used Redis as the main database instead of MySQL for its speed. The teams combined approaches, migrating static data to MySQL and keeping dynamic data in Redis. This allowed scaling to millions of daily users. The architecture evolved further to make servers and databases stateless to improve reliability.
Jenkins is an open-source automation server that was created in 2004 as a hobby project. It has seen widespread adoption with over 75% of users upgrading from legacy systems. CloudBees provides commercial support for Jenkins and uses a dual-licensing model, offering Jenkins as open-source while also providing professional and hosted versions with additional features. They aim to catalyze the ecosystem around continuous delivery and serve as a platform for Java applications.
The document discusses a holistic aggregate resource environment project involving IBM Research, Sandia National Labs, Bell Labs, and CMU. The goals of the project include leveraging aggregation as a first-class systems construct, distributing system services throughout supercomputers, and exploring native interconnect utilization. Research topics discussed include offload/acceleration models, right-weight kernels, and topologies.
This presentation discusses Mule ESB and how to simplify integration. It briefly mentions a brief history of integration, information silos, SOA. It also highlights several integration patterns.
Scaling a Rails Application from the Bottom Up Abhishek Singh
The document outlines Jason Hoffman's presentation on scaling a Rails application from the bottom up. It discusses fundamental limits like money, time, and hardware resources. It provides examples of logical server roles needed for a scalable architecture including provisioning, monitoring, logging etc. It also discusses hardware considerations like power, space, and networking. The presentation emphasizes standardization, virtualization, and keeping infrastructure costs below 10% of revenue.
Computer networking systems connect local area networks (LANs) in three main ways:
1. LANs use technologies like switches and routers to connect devices within a building or campus.
2. Metropolitan area networks (MANs) connect multiple LANs within a city using technologies like fiber optic cables.
3. Wide area networks (WANs) connect LANs over longer distances between cities using technologies like satellites or telecommunication lines.
Together, LANs, MANs, and WANs allow devices and users to share resources and communicate over both short and long distances.
Moved to https://slidr.io/azzazzel/web-application-performance-tuning-beyond-xmxMilen Dyankov
This slide deck will be removed from here in the future. It has been moved to : https://slidr.io/azzazzel/web-application-performance-tuning-beyond-xmx
Shared-Nothing Microservices Architectures ... and how to get there @ 404.ie ...Roland Tritsch
This document discusses shared-nothing microservice architectures and how to transition to them. It notes that shared state is problematic and microservices should be stateless when possible. It outlines benefits of microservices like independent scaling and high availability. The document also describes gradually transitioning from a monolith to microservices by eliminating shared state, introducing messaging, and breaking up databases. It shares experiences from Gilt and Nitro in making these transitions over several years.
Mobile Monday - WebServices on the iPhone - 05/2008Roland Tritsch
The document discusses approaches to developing mobile applications for the iPhone. It summarizes that native development using the iPhone SDK provides high-quality results but at a high cost, while browser-based approaches using AJAX are lower cost but provide more limited capabilities. It then focuses on using the Apache CXF framework to generate code for calling web services from iPhone applications in order to reduce development time compared to manually coding web service requests in JavaScript. The presentation provides resources for learning more about developing for the iPhone and mobile applications more generally.
SBT provides several commands for debugging and exploring builds:
- settings -V and tasks -V to view settings and tasks matching a regex
- inspect and inspect tree to view types and relationships of settings/tasks
- show to display values of settings and tasks
An SBT build defines a transformation of an immutable map through Setting objects. These can define SettingKeys, TaskKeys, and InputKeys to modify the map. Settings are scoped to projects, configurations, and tasks. The sbt-assembly plugin introduces new tasks to package assemblies for publishing.
Gilt uses Puppet for infrastructure configuration management. They have around 1000 Puppet modules and typically run Puppetmaster with Apache and Passenger on CentOS. Changes go through code review and are deployed incrementally using a "canary" flag. An internal tool called Mothership acts as an external node classifier for Puppet and also handles provisioning, assets management, users/groups and DNS. Lessons learned include keeping modules small and simple, planning for change like OS upgrades, and needing at least two views (logical and physical) for node management.
This document discusses how to use FUSE to accelerate iPhone web development by generating JavaScript code to access SOAP/HTTP web services from the iPhone. It provides an agenda that discusses why this is important, demonstrates code examples before and after using FUSE, shows the service interface, and summarizes how to generate the code. The demo shows invoking operations from a sample greeter service with simplified JavaScript code instead of manual XML handling. Resources and next steps are also provided.
Fidelma Healy introduced Gilt.com as an online retailer that offers discounted designer clothing, accessories, home goods and travel experiences. She outlined their various business divisions including Gilt, Gilt Man, Gilt Home and international sites. She noted they have over 5 million members and sell over 10,000 packages per day. Roland Tritsch then discussed Gilt's focus on innovation and how Ireland's diverse population and culture can support becoming a hub for innovation in Europe.
1. A SOA for the car
Roland Tritsch, Solutions Architect, IONA Technologies
2. 2
Agenda
• Introduction
– Sharing observations
– Motivate the problem
• Discuss a possible solution
– Service Oriented Architectures
– WebServices Definition Language
– Shortcomings
• Summary
– Q&A
3. 3
Embedded SWE: Quo vadis?
• The conventional way of
embedded SWE has
reached its limits
– Informatik-Spectrum, Broy Mechatronic
• Mechatronic alone is
probably not able to fix it
• But combining it with
already proven concepts, Embedded Application
standards and tools from SWE SWE
the application SWE
domain might lead to the
required quantum leap in
productivity
11. 11
SOA Primer
Registry
2. Lookup Repository 1. Register
C C
o o
n (Virtual) Bus n
Requester t t Provider
r r
a 3. Interact a
c c
t t
12. 12
A SOA for the car
ECU
S S
ECU ECU
S
Contract Contract Contract
( ) "
! !
" " !
"
Contract Contract Contract
ECU
S ECU
S ECU
S
13. 13
What do you need?
• A way to access T&P independent
the services
• A way to define Service Access
the services
• A virtual bus
– ESB, EMI, … Service Definition
• Transport and protocol
independence
• Based on Service Bus
(open) standards
14. 14
What do you need?
• A way to access T&P independent
the services
• A way to define
the services
(W)SIF
Service Access
• A virtual bus
– ESB, EMI, …
(W)SDL
Service Definition
• Transport and protocol
independence
• Based on CAN, MOST,Bus
Service FLEX, …
(open) standards
16. 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.
18. 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)
22. 22
Summary
• Integrating an increasing number
of ECUs will become one of the
major challenges for the automotive
industry
• Applying concepts, standards and tools
from 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