SlideShare a Scribd company logo
1 of 22
Download to read offline
Think Large, Act Small: An Approach to Web
Services for Embedded Systems Based on
the OSGi Framework

   Roman Roelofsen         David Bosschaert      Volker Ahlers
         Prosyst               Progress        University of Applied
          Köln                  Dublin          Sciences and Arts,
        Germany                 Ireland        Hannover, Germany

    Arne Koschel                                 Irina Astrova
   University of Applied                      Institute of Cybernetics
    Sciences and Arts,                               Univ. Tallinn
   Hannover, Germany                                   Estonia
And now something different
                

     Let‘s get a bit technical
      Beware – Some code included
Agenda
    Background, Scenarios, Requirements

    Adding ESB / Web services based
     Distribution Capabilities to OSGi
         Challenges with embedded Web Services
         OSGi & Apache CXF
         Implementation details
         Adoption to smaller devices: Java VM choices

    Conclusion

                                                         3
Background

Project Setup
    Cross country research (Germany, Estonia) /
     Industry (Ireland, USA) cooperation including
     ‘on-site’ development in Ireland
    Software vendor (espec. middleware)
    Enhancements for IT services standards
     specification
     (including OSGi / Web services) ‘in mind’



                                                     4
Background

SOA, ESB, Web Services
    Service Oriented Architecture is a
     distributed system architecture concept

    Services with well described interface(s)

    Service / Messaging Backbone
          Often: Logical / Technical
           “Enterprise Service Bus (ESB)”

    Integration of components often based on
     productive systems

    Different communication paradigms
          Request-Response; Oneway; …

    Implementation possible with different
     technologies, e.g.
          CORBA, Web Services, Java EE, .Net, . . .
          Web Services w.WSDL, SOAP typical




                                                       5
Background

Embedded Systems
    Smaller memory footprint
    ‘Typical’ processors
         ARM: 32 Bit, low power consumption,
          typical for mobiles, PDAs
         some Power PC (e.g. PlayStation)
         some Intel X86
    ‘Passing by’ service providers typical
     if used ‘in movement’

                                                6
Scenarios

Why Embedded Web Services?
    Web services usually used in
     large distributed systems.

    Two example scenarios from
     in-car embedded devices
          Car tracking
          Advertising

    Attributes of both
          Inside car communication
           with ‘outside world’ servers,
           e.g. via UMTS network.
          Web services usage, thus
           dynamic service offerings
           will occur.

                                           7
Requirements

Requirements Driven by Scenarios
    R1: Exposing Information for External Consumers
         Car tracking service should
               be independent of a specific car manufacturer;
               respect existing standards like SOAP to enable third-party integration;
               expose the (same) information using different technologies at the same
                time (to broaden the number of perspective users)
               ease technical consumption of information, so no new proprietary
                protocols and semantics should be introduced.

    R2: Accessing External Information
         Advertising service
               needs to access external information using existing standards like
                SOAP (car tracking service exposes them);
               should abstract from underlying technologies to ease consumption of
                external information.



                                                                                      8
Requirements

Requirements Driven by Scenarios
    R3: Enable Simultaneous Use of Technologies
          Depending on the services offered to or by the in-car embedded device,
           different technologies will be used. However, the use of one technology
           should not prevent the in-car embedded device from using another
           technology. Since the technologies may evolve independently from each
           other, the in-car embedded device should be able to replace the
           technologies. On the other hand, different technologies may be used at the
           same time. However, a simultaneous use of technologies should not lead to
           an inconsistent environment.

    R4: Facilitate Loose Coupling between Services and Technologies
          The term loose coupling usually refers to the coupling between services and
           consumers, especially over a network. Here, the coupling between services
           and technologies is getting observed.
           Services may use different technologies at the same time. However, they
           may not know in advance, which of the technologies will be used.
           Therefore, a loose coupling between services and technologies is required.



                                                                                     9
Agenda
    Background, Scenarios, Requirements

    Adding ESB / Web services based
     Distribution Capabilities to OSGi
         Challenges with embedded Web Services
         OSGi & Apache CXF
         Implementation details
         Adoption to smaller devices: Java VM choices

    Conclusion

                                                         10
Implementation

Design Issues: Embedded Web Services
    Independent transport protocol
          Scenarios have highly independent parties, so multiple
           independent Web services transports are required (e.g., not
           only HTTP)
    Highly dynamic service offerings
          A full WS stack would help, but embedded devices might be
           too small wrt their resources
          Nonetheless: WS standard required

    Flexible, standardized technology combination useful
          Here: OSGi & ESB (Apache CXF) + ‘Java Embedding’


                                                                     11
Implementation

Used Technology: OSGi
    Standardized, small
     footprint ‘in memory
     SOA’ for Java
    OSGi core
         Bundles and
          services for
          modularization and
          encapsulation



                               12
Implementation

Used Technology: OSGi
    OSGi was selected for several reasons, including (but not limited to)
          its dynamic service capabilities – suitable for ‘in movement scenes’
                Bundles and service ‘come and go’ in different, independent versions at
                 runtime
                Local OSGi service registry (SR)
                Deployable on all kind of devices ‘from sensor nodes to mainframes’
                Bundle concept increases the isolation between different modules
          As long as the metatdata is properly defined, OSGi provides a
           notion of execution environments to select bundles/capabilities
           based on the current hardware or environment; thus, a fair bit of
           hardware independency
          Java based
          Java Community Process (JCP) standard

    Missing in OSGi at that time though
          distribution features

                                                                                      13
Implementation
Used Technology: Apache CXF
    Free, open source
    Small footprint, multiple protocol ESB
    Fits well to requirements
          Info exposure
                Read OSGi service registry for service properties
          External information access
                ESB abstracts from local / remote view
          Simultaneous use of technologies
                ESB abstracts transparently from multiple technologies
          Loose coupling between services and technologies
                Bundles use different configurations
                No knowledge about technologies required that process the specified properties
                 to create an endpoint.
                Scenarios have quite heterogeneous distributed environment where different
                 networks or services may need different technologies.
                CXF allows these independent parties to use the needed technologies while
                 participating in other networks or with other services provided that a common set
                 of technologies exists.


                                                                                                14
Implementation

Independent Bundles
    ‘CXF’ and ‘Web service’ are provided as
     2 independent OSGi bundles, thus
         CXF bundle can be installed after the
          Web service bundle and removed after a
          certain time.
         To enforce a loose coupling between the
          two but still enable the use of each other,
          the Whiteboard pattern was applied

                                                        15
Implementation

Whiteboard pattern
    Originally alternative to listener/observer pattern

    ‘Kind of’ internal advertisement service

    Frequently used for OSGi applications




                                                           16
Implementation

Configuration approaches
    3 options provided         ExampleService service = new ExampleServiceImpl();
                                Dictionary dict = new Hashtable();
                                dict.put (“expose.service”, true) ;
         Java properties       dict.put (“expose.interface”, ExampleService.class);
                                dict.put (“expose.url”, “http://localhost:8080/exampleService”);
                                      context.registerService (ExampleService.class.getName(),
                                      service, dict);

                                <?xml version=“1.0” encoding=”UTF−8”?>
                                <component name=“ExampleService”>
                                <implementation class=“com.example.ExampleServiceImpl”/>
                                    <property name=“expose.service”>true</property>
         Declarative Service       <property
          Spec. (DSS)               name=“expose.interface”>com.example.ExampleService
                                    </property>
                                    <property name=“expose.url”>http://localhost:8080/
                                    exampleService
                                    </property>
                                    <service>
         Spring-OSGi                        <provide interface=“com.example.ExampleService”/>
                                    </service>
          (not here)            </component>
         ...
                                                                                                   17
Implementation

Remote access design
    Req. from 2nd scenario:
     Remote Access

    Two options examined
         Creating a remote API.
         Creating a proxy (which
          we followed
          prototypically)




                                    18
Implementation

Remote access from OSGi




                          19
Implementation
Adopting CXF for embedded Java
Platforms                                           Adoption results

    Java Standard Edition Embedded (Java               Adoption easy for Java SEE and JamVM
     SEE).                                                    Java 5 code runs just fine
          Almost full Java 5 spec.                           JamVM required some class additions. A
          Only 30MB memory footprint compared to              few changes for java.io and java.xml
           60MB java SE                                        required.
          Several processors
                                                        Java ME CDC
    JamVM                                                    Java 1.4 based, but can run Java 5 byte
          Java 5 based also                                   code
          Compared to Java SEE: very small                   For new language constructs (annotations)
           footprint and runs on ARM processors.               we used the Harmony tool for byte code
                                                               weaving
                                                              Annotatiosn simulated using reflection
    Java Micro Edition (Java ME)                             Thus some CXF modifications required
          ARM processors, PowerPC and Intel x86
           processors.
          Java ME CDC is viable for low end
           devices with memory footprint starting
           from 2 MB.




                                                                                                     20
Conclusion & Outlook
    Core contributions
         Evaluation, if OSGi/CXF can meet the requirements of
          example scenarios.
         Adoption of OSGi/CXF to Java embedded platforms in order
          to meet the memory restrictions of embedded systems.

    Our properties based approach influenced the OSGi
     standard
         It was presented to OSGi expert group and in similar form
          later used by the distributed OSGi specification.

    Outlook: Current research work
         Asynchronous, distributed event-based messaging for OSGi

                                                                      21
Questions ?                  Questions !



Irina Astrova                      Arne Koschel

Tallinn University of Technology   University of Applied Sciences, Faculty IV,
Institute of Cybernetics,          Department for Computer Science
Tallinn, Estonia                   Hannover, Germany


irinaastrova@yahoo.com             akoschel@acm.org
                                   www.fakultaet4.fh-hannover.de
                                   http://www.koschel-edv.de/arne_koschel_publications
                                                                                         22

More Related Content

What's hot

Oracle tech fmw-03-cloud-computing-neum-15.04.2010
Oracle tech fmw-03-cloud-computing-neum-15.04.2010Oracle tech fmw-03-cloud-computing-neum-15.04.2010
Oracle tech fmw-03-cloud-computing-neum-15.04.2010
Oracle BH
 
Resource Oriented Architecture in Wireless Sensor Network
Resource Oriented Architecture in Wireless Sensor NetworkResource Oriented Architecture in Wireless Sensor Network
Resource Oriented Architecture in Wireless Sensor Network
Thomas Pham
 
Sparton Corp WAN Analysis
Sparton Corp WAN AnalysisSparton Corp WAN Analysis
Sparton Corp WAN Analysis
tcollins3413
 
OSGi For Java Infrastructures [5th IndicThreads Conference On Java 2010, Pune...
OSGi For Java Infrastructures [5th IndicThreads Conference On Java 2010, Pune...OSGi For Java Infrastructures [5th IndicThreads Conference On Java 2010, Pune...
OSGi For Java Infrastructures [5th IndicThreads Conference On Java 2010, Pune...
IndicThreads
 
F co e_netapp_v12
F co e_netapp_v12F co e_netapp_v12
F co e_netapp_v12
aj4953
 
OpenAjax Alliance: Driving Ajax Standards and Interoperability
OpenAjax Alliance: Driving Ajax Standards and InteroperabilityOpenAjax Alliance: Driving Ajax Standards and Interoperability
OpenAjax Alliance: Driving Ajax Standards and Interoperability
elliando dias
 
Access security on cloud computing implemented in hadoop system
Access security on cloud computing implemented in hadoop systemAccess security on cloud computing implemented in hadoop system
Access security on cloud computing implemented in hadoop system
João Gabriel Lima
 

What's hot (20)

Oracle tech fmw-03-cloud-computing-neum-15.04.2010
Oracle tech fmw-03-cloud-computing-neum-15.04.2010Oracle tech fmw-03-cloud-computing-neum-15.04.2010
Oracle tech fmw-03-cloud-computing-neum-15.04.2010
 
Resource Oriented Architecture in Wireless Sensor Network
Resource Oriented Architecture in Wireless Sensor NetworkResource Oriented Architecture in Wireless Sensor Network
Resource Oriented Architecture in Wireless Sensor Network
 
Enomaly
EnomalyEnomaly
Enomaly
 
An Introduction to IaaS Framework
An Introduction to IaaS FrameworkAn Introduction to IaaS Framework
An Introduction to IaaS Framework
 
Sparton Corp WAN Analysis
Sparton Corp WAN AnalysisSparton Corp WAN Analysis
Sparton Corp WAN Analysis
 
OpenFlow Beyond the Data Centre at IP Expo
OpenFlow Beyond the Data Centre at IP ExpoOpenFlow Beyond the Data Centre at IP Expo
OpenFlow Beyond the Data Centre at IP Expo
 
FC/FCoE - Topologies, Protocols, and Limitations ( EMC World 2012 )
FC/FCoE - Topologies, Protocols, and Limitations ( EMC World 2012 )FC/FCoE - Topologies, Protocols, and Limitations ( EMC World 2012 )
FC/FCoE - Topologies, Protocols, and Limitations ( EMC World 2012 )
 
Oracle Public Cloud: Oracle Java Cloud Service, by Nino Guarnacci
Oracle Public Cloud: Oracle Java Cloud Service, by Nino GuarnacciOracle Public Cloud: Oracle Java Cloud Service, by Nino Guarnacci
Oracle Public Cloud: Oracle Java Cloud Service, by Nino Guarnacci
 
OSGi For Java Infrastructures [5th IndicThreads Conference On Java 2010, Pune...
OSGi For Java Infrastructures [5th IndicThreads Conference On Java 2010, Pune...OSGi For Java Infrastructures [5th IndicThreads Conference On Java 2010, Pune...
OSGi For Java Infrastructures [5th IndicThreads Conference On Java 2010, Pune...
 
[OSDC.tw 2011] The Path to Pass into PaaS -- How We Build the Solution
[OSDC.tw 2011] The Path to Pass into PaaS -- How We Build the Solution[OSDC.tw 2011] The Path to Pass into PaaS -- How We Build the Solution
[OSDC.tw 2011] The Path to Pass into PaaS -- How We Build the Solution
 
Switch to alfresco with wasaaiq [compatibility mode]
Switch to alfresco with wasaaiq [compatibility mode]Switch to alfresco with wasaaiq [compatibility mode]
Switch to alfresco with wasaaiq [compatibility mode]
 
F co e_netapp_v12
F co e_netapp_v12F co e_netapp_v12
F co e_netapp_v12
 
OpenAjax Alliance: Driving Ajax Standards and Interoperability
OpenAjax Alliance: Driving Ajax Standards and InteroperabilityOpenAjax Alliance: Driving Ajax Standards and Interoperability
OpenAjax Alliance: Driving Ajax Standards and Interoperability
 
The Top 10 Business Reasons for 10GbE iSCSI
The Top 10 Business Reasons for 10GbE iSCSIThe Top 10 Business Reasons for 10GbE iSCSI
The Top 10 Business Reasons for 10GbE iSCSI
 
The Great IT Migration
The Great IT MigrationThe Great IT Migration
The Great IT Migration
 
Key Factors To Consider When Selecting Your Mpls Provider
Key Factors To Consider When Selecting Your Mpls ProviderKey Factors To Consider When Selecting Your Mpls Provider
Key Factors To Consider When Selecting Your Mpls Provider
 
Access security on cloud computing implemented in hadoop system
Access security on cloud computing implemented in hadoop systemAccess security on cloud computing implemented in hadoop system
Access security on cloud computing implemented in hadoop system
 
StratusLab: A IaaS Cloud Distribution Focusing on Simplicity
StratusLab: A IaaS Cloud Distribution Focusing on SimplicityStratusLab: A IaaS Cloud Distribution Focusing on Simplicity
StratusLab: A IaaS Cloud Distribution Focusing on Simplicity
 
Unlock the Cloud: Building a Vendor Independent Private Cloud
Unlock the Cloud: Building a Vendor Independent Private CloudUnlock the Cloud: Building a Vendor Independent Private Cloud
Unlock the Cloud: Building a Vendor Independent Private Cloud
 
Food and Beverage Automation with InduSoft Web Studio
Food and Beverage Automation with InduSoft Web StudioFood and Beverage Automation with InduSoft Web Studio
Food and Beverage Automation with InduSoft Web Studio
 

Similar to Vii 2 Z Final Slides Os Gi Iess 2010

Open Stack Cloud Services
Open Stack Cloud ServicesOpen Stack Cloud Services
Open Stack Cloud Services
Saurabh Gupta
 
Win net presentacion [2005]
Win net presentacion [2005]Win net presentacion [2005]
Win net presentacion [2005]
Raul Soto
 

Similar to Vii 2 Z Final Slides Os Gi Iess 2010 (20)

Net core microservice development made easy with azure dev spaces
Net core microservice development made easy with azure dev spacesNet core microservice development made easy with azure dev spaces
Net core microservice development made easy with azure dev spaces
 
Rapid cloudapplicationdevelopmentwithlimeds
Rapid cloudapplicationdevelopmentwithlimedsRapid cloudapplicationdevelopmentwithlimeds
Rapid cloudapplicationdevelopmentwithlimeds
 
StratusLab: Darn Simple Cloud
StratusLab: Darn Simple CloudStratusLab: Darn Simple Cloud
StratusLab: Darn Simple Cloud
 
Charlton Barreto - The OGF | Open Cloud Computing Interface
Charlton Barreto - The OGF | Open Cloud Computing InterfaceCharlton Barreto - The OGF | Open Cloud Computing Interface
Charlton Barreto - The OGF | Open Cloud Computing Interface
 
CNCF Introduction - Feb 2018
CNCF Introduction - Feb 2018CNCF Introduction - Feb 2018
CNCF Introduction - Feb 2018
 
Open network operating system (onos)
Open network operating system (onos)Open network operating system (onos)
Open network operating system (onos)
 
StratusLab at FOSDEM'13
StratusLab at FOSDEM'13StratusLab at FOSDEM'13
StratusLab at FOSDEM'13
 
All the amazing features of asp.net core
All the amazing features of asp.net coreAll the amazing features of asp.net core
All the amazing features of asp.net core
 
Middleware Technologies ppt
Middleware Technologies pptMiddleware Technologies ppt
Middleware Technologies ppt
 
Introduction to CORD project
Introduction to CORD projectIntroduction to CORD project
Introduction to CORD project
 
Introduction to Cloud Computing
Introduction to Cloud ComputingIntroduction to Cloud Computing
Introduction to Cloud Computing
 
soap toolkit
soap toolkitsoap toolkit
soap toolkit
 
The Future of Networks is Open...Source
The Future of Networks is Open...SourceThe Future of Networks is Open...Source
The Future of Networks is Open...Source
 
Do You Need A Service Mesh?
Do You Need A Service Mesh?Do You Need A Service Mesh?
Do You Need A Service Mesh?
 
Building enterprise depth APIs with the IBM hybrid integration portfolio
Building enterprise depth APIs with the IBM hybrid integration portfolioBuilding enterprise depth APIs with the IBM hybrid integration portfolio
Building enterprise depth APIs with the IBM hybrid integration portfolio
 
Introduction to the WSO2 Identity Server &Contributing to an OS Project
Introduction to the WSO2 Identity Server &Contributing to an OS ProjectIntroduction to the WSO2 Identity Server &Contributing to an OS Project
Introduction to the WSO2 Identity Server &Contributing to an OS Project
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Open Stack Cloud Services
Open Stack Cloud ServicesOpen Stack Cloud Services
Open Stack Cloud Services
 
A Component-Based Approach For Service Distribution In Sensor Networks
A Component-Based Approach For Service Distribution In Sensor NetworksA Component-Based Approach For Service Distribution In Sensor Networks
A Component-Based Approach For Service Distribution In Sensor Networks
 
Win net presentacion [2005]
Win net presentacion [2005]Win net presentacion [2005]
Win net presentacion [2005]
 

More from IESS

Designing a dynamic competency framework for the service system innovation ar...
Designing a dynamic competency framework for the service system innovation ar...Designing a dynamic competency framework for the service system innovation ar...
Designing a dynamic competency framework for the service system innovation ar...
IESS
 
Strategy based service business development for sm es
Strategy based service business development for sm esStrategy based service business development for sm es
Strategy based service business development for sm es
IESS
 
Service systems and value modeling from an appreciative system perspective
Service systems and value modeling from an appreciative system perspectiveService systems and value modeling from an appreciative system perspective
Service systems and value modeling from an appreciative system perspective
IESS
 
Service science filling the gap between knowledge and needs
Service science  filling the gap between knowledge and needsService science  filling the gap between knowledge and needs
Service science filling the gap between knowledge and needs
IESS
 
The paradox of service industrialization
The paradox of service industrializationThe paradox of service industrialization
The paradox of service industrialization
IESS
 
A model based method for the design of services in collaborative business env...
A model based method for the design of services in collaborative business env...A model based method for the design of services in collaborative business env...
A model based method for the design of services in collaborative business env...
IESS
 
Profile based security assurance for service
Profile based security assurance for serviceProfile based security assurance for service
Profile based security assurance for service
IESS
 
An approach to extract the business value from soa services
An approach to extract the business value from soa servicesAn approach to extract the business value from soa services
An approach to extract the business value from soa services
IESS
 
Impact analysis of process improvement on it service quality
Impact analysis of process improvement on it service qualityImpact analysis of process improvement on it service quality
Impact analysis of process improvement on it service quality
IESS
 
Seffah iess11 keynote the human side of service science
Seffah iess11 keynote   the human side of service scienceSeffah iess11 keynote   the human side of service science
Seffah iess11 keynote the human side of service science
IESS
 
On viable service systems
On viable service systemsOn viable service systems
On viable service systems
IESS
 
Spider maps for location based services improvement
Spider maps for location based services improvementSpider maps for location based services improvement
Spider maps for location based services improvement
IESS
 

More from IESS (20)

Iess11 closing session
Iess11 closing sessionIess11 closing session
Iess11 closing session
 
Comparison of research based vs industry developed pss models
Comparison of research based vs industry developed pss modelsComparison of research based vs industry developed pss models
Comparison of research based vs industry developed pss models
 
Towards an ontological foundation of service dominant logic
Towards an ontological foundation of service dominant logicTowards an ontological foundation of service dominant logic
Towards an ontological foundation of service dominant logic
 
Designing a dynamic competency framework for the service system innovation ar...
Designing a dynamic competency framework for the service system innovation ar...Designing a dynamic competency framework for the service system innovation ar...
Designing a dynamic competency framework for the service system innovation ar...
 
Strategy based service business development for sm es
Strategy based service business development for sm esStrategy based service business development for sm es
Strategy based service business development for sm es
 
Business process flexibility in service composition
Business process flexibility in service compositionBusiness process flexibility in service composition
Business process flexibility in service composition
 
Service systems and value modeling from an appreciative system perspective
Service systems and value modeling from an appreciative system perspectiveService systems and value modeling from an appreciative system perspective
Service systems and value modeling from an appreciative system perspective
 
Service science filling the gap between knowledge and needs
Service science  filling the gap between knowledge and needsService science  filling the gap between knowledge and needs
Service science filling the gap between knowledge and needs
 
The paradox of service industrialization
The paradox of service industrializationThe paradox of service industrialization
The paradox of service industrialization
 
Implementing a request fulfillment process
Implementing a request fulfillment processImplementing a request fulfillment process
Implementing a request fulfillment process
 
Sustainable service innovation
Sustainable service innovationSustainable service innovation
Sustainable service innovation
 
Mining customer loyalty card programs
Mining customer loyalty card programsMining customer loyalty card programs
Mining customer loyalty card programs
 
A model based method for the design of services in collaborative business env...
A model based method for the design of services in collaborative business env...A model based method for the design of services in collaborative business env...
A model based method for the design of services in collaborative business env...
 
Profile based security assurance for service
Profile based security assurance for serviceProfile based security assurance for service
Profile based security assurance for service
 
An approach to extract the business value from soa services
An approach to extract the business value from soa servicesAn approach to extract the business value from soa services
An approach to extract the business value from soa services
 
Impact analysis of process improvement on it service quality
Impact analysis of process improvement on it service qualityImpact analysis of process improvement on it service quality
Impact analysis of process improvement on it service quality
 
Seffah iess11 keynote the human side of service science
Seffah iess11 keynote   the human side of service scienceSeffah iess11 keynote   the human side of service science
Seffah iess11 keynote the human side of service science
 
On viable service systems
On viable service systemsOn viable service systems
On viable service systems
 
Spider maps for location based services improvement
Spider maps for location based services improvementSpider maps for location based services improvement
Spider maps for location based services improvement
 
IESS 1.1 intro
IESS 1.1 introIESS 1.1 intro
IESS 1.1 intro
 

Recently uploaded

The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
heathfieldcps1
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
QucHHunhnh
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
PECB
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Krashi Coaching
 

Recently uploaded (20)

Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpin
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3
 
9548086042 for call girls in Indira Nagar with room service
9548086042  for call girls in Indira Nagar  with room service9548086042  for call girls in Indira Nagar  with room service
9548086042 for call girls in Indira Nagar with room service
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajan
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 

Vii 2 Z Final Slides Os Gi Iess 2010

  • 1. Think Large, Act Small: An Approach to Web Services for Embedded Systems Based on the OSGi Framework Roman Roelofsen David Bosschaert Volker Ahlers Prosyst Progress University of Applied Köln Dublin Sciences and Arts, Germany Ireland Hannover, Germany Arne Koschel Irina Astrova University of Applied Institute of Cybernetics Sciences and Arts, Univ. Tallinn Hannover, Germany Estonia
  • 2. And now something different  Let‘s get a bit technical Beware – Some code included
  • 3. Agenda   Background, Scenarios, Requirements   Adding ESB / Web services based Distribution Capabilities to OSGi   Challenges with embedded Web Services   OSGi & Apache CXF   Implementation details   Adoption to smaller devices: Java VM choices   Conclusion 3
  • 4. Background Project Setup   Cross country research (Germany, Estonia) / Industry (Ireland, USA) cooperation including ‘on-site’ development in Ireland   Software vendor (espec. middleware)   Enhancements for IT services standards specification (including OSGi / Web services) ‘in mind’ 4
  • 5. Background SOA, ESB, Web Services   Service Oriented Architecture is a distributed system architecture concept   Services with well described interface(s)   Service / Messaging Backbone   Often: Logical / Technical “Enterprise Service Bus (ESB)”   Integration of components often based on productive systems   Different communication paradigms   Request-Response; Oneway; …   Implementation possible with different technologies, e.g.   CORBA, Web Services, Java EE, .Net, . . .   Web Services w.WSDL, SOAP typical 5
  • 6. Background Embedded Systems   Smaller memory footprint   ‘Typical’ processors   ARM: 32 Bit, low power consumption, typical for mobiles, PDAs   some Power PC (e.g. PlayStation)   some Intel X86   ‘Passing by’ service providers typical if used ‘in movement’ 6
  • 7. Scenarios Why Embedded Web Services?   Web services usually used in large distributed systems.   Two example scenarios from in-car embedded devices   Car tracking   Advertising   Attributes of both   Inside car communication with ‘outside world’ servers, e.g. via UMTS network.   Web services usage, thus dynamic service offerings will occur. 7
  • 8. Requirements Requirements Driven by Scenarios   R1: Exposing Information for External Consumers   Car tracking service should   be independent of a specific car manufacturer;   respect existing standards like SOAP to enable third-party integration;   expose the (same) information using different technologies at the same time (to broaden the number of perspective users)   ease technical consumption of information, so no new proprietary protocols and semantics should be introduced.   R2: Accessing External Information   Advertising service   needs to access external information using existing standards like SOAP (car tracking service exposes them);   should abstract from underlying technologies to ease consumption of external information. 8
  • 9. Requirements Requirements Driven by Scenarios   R3: Enable Simultaneous Use of Technologies   Depending on the services offered to or by the in-car embedded device, different technologies will be used. However, the use of one technology should not prevent the in-car embedded device from using another technology. Since the technologies may evolve independently from each other, the in-car embedded device should be able to replace the technologies. On the other hand, different technologies may be used at the same time. However, a simultaneous use of technologies should not lead to an inconsistent environment.   R4: Facilitate Loose Coupling between Services and Technologies   The term loose coupling usually refers to the coupling between services and consumers, especially over a network. Here, the coupling between services and technologies is getting observed. Services may use different technologies at the same time. However, they may not know in advance, which of the technologies will be used. Therefore, a loose coupling between services and technologies is required. 9
  • 10. Agenda   Background, Scenarios, Requirements   Adding ESB / Web services based Distribution Capabilities to OSGi   Challenges with embedded Web Services   OSGi & Apache CXF   Implementation details   Adoption to smaller devices: Java VM choices   Conclusion 10
  • 11. Implementation Design Issues: Embedded Web Services   Independent transport protocol   Scenarios have highly independent parties, so multiple independent Web services transports are required (e.g., not only HTTP)   Highly dynamic service offerings   A full WS stack would help, but embedded devices might be too small wrt their resources   Nonetheless: WS standard required   Flexible, standardized technology combination useful Here: OSGi & ESB (Apache CXF) + ‘Java Embedding’ 11
  • 12. Implementation Used Technology: OSGi   Standardized, small footprint ‘in memory SOA’ for Java   OSGi core   Bundles and services for modularization and encapsulation 12
  • 13. Implementation Used Technology: OSGi   OSGi was selected for several reasons, including (but not limited to)   its dynamic service capabilities – suitable for ‘in movement scenes’   Bundles and service ‘come and go’ in different, independent versions at runtime   Local OSGi service registry (SR)   Deployable on all kind of devices ‘from sensor nodes to mainframes’   Bundle concept increases the isolation between different modules   As long as the metatdata is properly defined, OSGi provides a notion of execution environments to select bundles/capabilities based on the current hardware or environment; thus, a fair bit of hardware independency   Java based   Java Community Process (JCP) standard   Missing in OSGi at that time though   distribution features 13
  • 14. Implementation Used Technology: Apache CXF   Free, open source   Small footprint, multiple protocol ESB   Fits well to requirements   Info exposure   Read OSGi service registry for service properties   External information access   ESB abstracts from local / remote view   Simultaneous use of technologies   ESB abstracts transparently from multiple technologies   Loose coupling between services and technologies   Bundles use different configurations   No knowledge about technologies required that process the specified properties to create an endpoint.   Scenarios have quite heterogeneous distributed environment where different networks or services may need different technologies.   CXF allows these independent parties to use the needed technologies while participating in other networks or with other services provided that a common set of technologies exists. 14
  • 15. Implementation Independent Bundles   ‘CXF’ and ‘Web service’ are provided as 2 independent OSGi bundles, thus   CXF bundle can be installed after the Web service bundle and removed after a certain time.   To enforce a loose coupling between the two but still enable the use of each other, the Whiteboard pattern was applied 15
  • 16. Implementation Whiteboard pattern   Originally alternative to listener/observer pattern   ‘Kind of’ internal advertisement service   Frequently used for OSGi applications 16
  • 17. Implementation Configuration approaches   3 options provided ExampleService service = new ExampleServiceImpl(); Dictionary dict = new Hashtable(); dict.put (“expose.service”, true) ;   Java properties dict.put (“expose.interface”, ExampleService.class); dict.put (“expose.url”, “http://localhost:8080/exampleService”); context.registerService (ExampleService.class.getName(), service, dict); <?xml version=“1.0” encoding=”UTF−8”?> <component name=“ExampleService”> <implementation class=“com.example.ExampleServiceImpl”/> <property name=“expose.service”>true</property>   Declarative Service <property Spec. (DSS) name=“expose.interface”>com.example.ExampleService </property> <property name=“expose.url”>http://localhost:8080/ exampleService </property> <service>   Spring-OSGi <provide interface=“com.example.ExampleService”/> </service> (not here) </component>   ... 17
  • 18. Implementation Remote access design   Req. from 2nd scenario: Remote Access   Two options examined   Creating a remote API.   Creating a proxy (which we followed prototypically) 18
  • 20. Implementation Adopting CXF for embedded Java Platforms Adoption results   Java Standard Edition Embedded (Java   Adoption easy for Java SEE and JamVM SEE).   Java 5 code runs just fine   Almost full Java 5 spec.   JamVM required some class additions. A   Only 30MB memory footprint compared to few changes for java.io and java.xml 60MB java SE required.   Several processors   Java ME CDC   JamVM   Java 1.4 based, but can run Java 5 byte   Java 5 based also code   Compared to Java SEE: very small   For new language constructs (annotations) footprint and runs on ARM processors. we used the Harmony tool for byte code weaving   Annotatiosn simulated using reflection   Java Micro Edition (Java ME)   Thus some CXF modifications required   ARM processors, PowerPC and Intel x86 processors.   Java ME CDC is viable for low end devices with memory footprint starting from 2 MB. 20
  • 21. Conclusion & Outlook   Core contributions   Evaluation, if OSGi/CXF can meet the requirements of example scenarios.   Adoption of OSGi/CXF to Java embedded platforms in order to meet the memory restrictions of embedded systems.   Our properties based approach influenced the OSGi standard   It was presented to OSGi expert group and in similar form later used by the distributed OSGi specification.   Outlook: Current research work   Asynchronous, distributed event-based messaging for OSGi 21
  • 22. Questions ? Questions ! Irina Astrova Arne Koschel Tallinn University of Technology University of Applied Sciences, Faculty IV, Institute of Cybernetics, Department for Computer Science Tallinn, Estonia Hannover, Germany irinaastrova@yahoo.com akoschel@acm.org www.fakultaet4.fh-hannover.de http://www.koschel-edv.de/arne_koschel_publications 22