Presented by Jinpeng Zhou

Slides:



Advertisements
Similar presentations
When Applications can Roam Freely OSGi Service Platform R4 Peter Kriens Technical Director OSGi
Advertisements

Database System Concepts and Architecture
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
Spring, Hibernate and Web Services 13 th September 2014.
Service Oriented Architectures in Heterogeneous Environments
G O B E Y O N D C O N V E N T I O N WORF: Developing DB2 UDB based Web Services on a Websphere Application Server Kris Van Thillo, ABIS Training & Consulting.
Why OSGi matters for Enterprise Java Infrastructures
Technical Architectures
Notes to the presenter. I would like to thank Jim Waldo, Jon Bostrom, and Dennis Govoni. They helped me put this presentation together for the field.
Eclipse Architecture Dwight Deugo Nesa Matic
1 Ivan Lanese Computer Science Department University of Bologna Italy Evolvable systems: some ideas for modelling With input from Davide Sangiorgi, Fabrizio.
Presented by IBM developer Works ibm.com/developerworks/ 2006 January – April © 2006 IBM Corporation. Making the most of Creating Eclipse plug-ins.
Jun Peng Stanford University – Department of Civil and Environmental Engineering Nov 17, 2000 DISSERTATION PROPOSAL A Software Framework for Collaborative.
Spring Dynamic Modules. Startlocation: Documentation: /1.2.1/reference/html/
Community Manager A Dynamic Collaboration Solution on Heterogeneous Environment Hyeonsook Kim  2006 CUS. All rights reserved.
Modularized middleware architecture for smart home & smart home lab Software Engineering Laboratory Department of Computer Science Iowa State University.
Securing Legacy Software SoBeNet User group meeting 25/06/2004.
A Scalable Application Architecture for composing News Portals on the Internet Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta Famagusta.
INTRODUCING SCA Byungwook Cho Nov.2007.
Configuration Management and Server Administration Mohan Bang Endeca Server.
1 J2EE Components. 2 Application Servers relieve the programming burden for business distributed components. They provide support for system level services.
Choon Oh Lee OSGi Service Platform. About OSGi Service Platform What it is, Where it is used, What features it provides are Today’s Content.
Zhonghua Qu and Ovidiu Daescu December 24, 2009 University of Texas at Dallas.
Interoperating with Services in a Mobile Environment Andreas Dahl, Pål Rolfsen Grønsund, Per Thomas Kraabøl,
95-843: Service Oriented Architecture 1 Master of Information System Management Service Oriented Architecture Lecture 10: Service Component Architecture.
Architecture-Based Runtime Software Evolution Peyman Oreizy, Nenad Medvidovic & Richard N. Taylor.
® How to Build IBM Lotus Notes Components for Composite Applications 정유신 과장 2007 하반기 로터스 알토란.
第十四章 J2EE 入门 Introduction What is J2EE ?
Comparing JavaBeans and OSGi Towards an Integration of Two Complementary Component Models HUMBERTO CERVANTES JEAN-MARIE FAVRE 09/02.
A Framework for the Reconfiguration of Ubicomp Systems Pau Giner, Carlos Cetina, Joan Fons, Vicente Pelechano.
XML Web Services Architecture Siddharth Ruchandani CS 6362 – SW Architecture & Design Summer /11/05.
Open Service Gateway Initiative (OSGi) Reporter : 林學灝 侯承育 1.
SCALABLE EVOLUTION OF HIGHLY AVAILABLE SYSTEMS BY ABHISHEK ASOKAN 8/6/2004.
Tuscany: a SOA framework Jeffrey Guo Accelrys, Inc.
Tu sca ny 1 The Tuscany Java SCA Runtime 20 August 2006.
SCA Bindings Simon Holdsworth Piotr Przybylski. Agenda n SCA Bindings Overview l Bindings TC Charter n Bindings l Web Services Binding l JMS Binding l.
Grid Services I - Concepts
Tuscany Runtime Architecture. Contents Overview An example Bootstrap kernel Process of composite application.
A Component Platform for Experimenting with Autonomic Composition A component framework for supporting composition of autonomic services and bio-inspired.
Plug-in Architectures Presented by Truc Nguyen. What’s a plug-in? “a type of program that tightly integrates with a larger application to add a special.
1 Unified Modeling Language, Version 2.0 Chapter 2.
A Semi-Automated Digital Preservation System based on Semantic Web Services Jane Hunter Sharmin Choudhury DSTC PTY LTD, Brisbane, Australia Slides by Ananta.
The Holmes Platform and Applications
Netscape Application Server
Sabri Kızanlık Ural Emekçi
Architecting Web Services
WEB SERVICES.
Self Healing and Dynamic Construction Framework:
Systems Analysis and Design With UML 2
Overall Architecture and Component Model
Unit – 5 JAVA Web Services
SOA (Service Oriented Architecture)
Architecting Web Services
Distribution and components
SAP Hybris Online Training SAP Hybris Online Training
Web Ontology Language for Service (OWL-S)
Introduction to J2EE Architecture
CMPE419 Mobile Application Development
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
Chapter 2 Database Environment Pearson Education © 2009.
Service-centric Software Engineering
Lecture 1: Multi-tier Architecture Overview
Inventory of Distributed Computing Concepts
ESIS Consulting LLC (C) ESIS Consulting LLC. All rights reserved
Service Oriented Architecture (SOA)
Objectives In this lesson you will learn about: Need for servlets
Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta
Introduction to Web Services
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
CMPE419 Mobile Application Development
Presentation transcript:

Presented by Jinpeng Zhou A Component-Based Reconfigurable Platform for SOA Presented by Jinpeng Zhou CS 2310 Seminar, 12/05/2017

Modularity, Standardization,Flexibility,Reusability Background SOA Service Oriented Architecture A high-level architecture for distributed systems Service means programs, databases, processes… Standardized communication Procedure Oriented Object Oriented Component Oriented Service Oriented Modularity, Standardization,Flexibility,Reusability

Background SOA How to implement? Service Component Architecture (SCA) A standard to integrate services Services as (input & output of) component Simplify: Construction Assembly coarse-grained SCA Architecture [1]

Background Composite Implementation Export Import Direct Implementation (Java) Connect reference with service

Background SCA Assembly based on XML. E.g. [1]: MyApp View Model run

Background SCA Problems? Solutions Does not define: Runtime configuration Runtime reconfiguration Management of the platform itself Solutions A Component-Based Reconfigurable Platform [1] (primary) FraSCAti [2] (supplementary) SCA Architecture [1]

A Component-Based Reconfigurable Platform 4-level Architecture Correspond to end-user applications Application level Correspond to SCA infrastructure Kernel level Personality level Runtime level Kernel implement component, Personality level provide personality to component, Runtime level assemble components

A Component-Based Reconfigurable Platform 4-level Architecture[1] Kernel implement component, Personality level provide personality to component, Runtime level assemble components

A Component-Based Reconfigurable Platform 4-level Architecture Kernel level Built on FRACTAL component model [3] Independent from programming languages Configurable components Customize execution policy (personality) Component personality Controllers: implementing personality Interceptors: intercepting requests FRACTAL is a programming language independent component model, which has been specified for the construction of highly configurable software systems. The FRACTAL model combines ideas from three main sources: software architecture, reflective systems, and distributed configurable systems. Controllers expose their services through control interfaces. Interceptors modify and extend component behaviors when requests are received or emitted.

A Component-Based Reconfigurable Platform 4-level Architecture Personality level Personality is a structural and run-time feature How to instantiate, how to activate ... (execution policy) It varies in Web app, Embedded system, Wireless Sensing … How to generalize? Implement meta-level activities

A Component-Based Reconfigurable Platform 4-level Architecture Personality level Implementation for Meta-level activities Controller Description Wiring Manage wires: query, create, remove, retrieve Instance Instantiate components with different states Property Add and recover property values Hierarchy Manage sub-components: add, query, delete LifeCycle Turn on/off components Intent Wire non-functional services to components Non-functional such as transaction management, security management

A Component-Based Reconfigurable Platform 4-level Architecture Personality level For example, the Instance Controller needs to query the Property Controller to retrieve the property values to be injected into created instances. As an other example, the Lifecycle Controller needs to trigger instance creations when initializing eagerly a component, and for that, queries the Instance Controller. Eager initialization is an SCA specific concept which states that components should be pre-instantiated before receiving any client request. The resulting collaboration scheme between controllers is captured in a software architecture which is illustrated in Figure Personality level example [1]

A Component-Based Reconfigurable Platform 4-level Architecture Run-time level Major components Description Parser Personality Factory Assembly Factory Flexible configuration process In charge of instantiating SCA assemblies and components

A Component-Based Reconfigurable Platform 4-level Architecture Run-time level Description Parser (XML-based descriptor) SCA Metamodel: categorizes all concepts defined by SCA specification Arch Metamodel: describes extensions that are not in the specification SCA Resolver (Eclipse Modeling Framework) in charge of loading and checking the SCA assembly descriptor and creating the associated run-time model Generated Runtime model

A Component-Based Reconfigurable Platform 4-level Architecture Run-time level Personality Factory Create the personality of components Generated code depends on the type of component implementation Composite, Java, etc.

A Component-Based Reconfigurable Platform 4-level Architecture Run-time level Assembly Factory Receive the run-time model and construct the assemblies Based on the key concepts of the SCA model visits the run-time model created by the Description Parser and creates the corresponding component assemblies

A Component-Based Reconfigurable Platform 4-level Architecture Run-time level Internal input Internal output Global output By default, the FRASCATI platform is bundled with the following plugins: Languages and models such as JAVA, WSDL, FRACTAL, protocols such as SOAP, HTTP. Interface Description Languages (supported by the Interface component): Java, WSDL; Property Description Languages (supported by the Property component): Java, XSD; Component Implementation Languages (supported by the Implementation component): Java Beans, Spring, OSGi, FRACTAL; Binding Technologies (supported by the Binding component): communication protocols, SOAP, HTTP, Runtime level [1]

A Component-Based Reconfigurable Platform 4-level Architecture Run-time level Flexible configuration Process (Plug-in) N Final Config Start with a minimal configuration including support for Java. Looks for architecture fragments in the classpath. Whenever an architecture descriptor frascati.composite is found among the loaded bundles, the bootstrap merges the content of the descriptor. Once all the architecture fragments have been merged, the bootstrap creates a new instance of the run-time platform based on the merged descriptor. This version of the platform is then used to instantiate and manage the business application. Minimal Config Search Plugin Merge Plugin Y Setup New Instance

5-level Architecture FraSCAti Application level Non-functional level FraSCAti Platform Architecture [2] 5-level Architecture Application level Non-functional level Run-time level Personality level Kernel level

FraSCAti The Autonomous Home Control System [2]

FraSCAti The Autonomous Home Control System [2]

FraSCAti The Autonomous Home Control System [2] Reconfiguration Script for Installing a New TV Module Description of the Reconfiguration Policy Implemented in Groovy this script first brings the application in a quiescent state (line 2), and then creates an instance of the Remote Controller Module component (line 3 - the description of the module is stored in description). This new component is included in the application architecture (line 4) and wired to the Controller component (line 6). Finally, the reference tv is promoted to the enclosing component (line 7) and exposed as a UPnP binding in order to discover and connect to the UPnP TV (line 8). When these steps are completed, the execution of the application can be resumed (line 9).

Evaluation : Invocation time of a service call The proposed platform [1] (left) FraSCAti [2] (right)

Evaluation : Memory consumption Code Footprint for Different Configurations of FraSCAti [2]

Evaluation : Reconfiguration time Stop the component Unwiring Create a new component Make new wires Start new component 1,000-times repetition of replacing a component 0.35 seconds

Conclusion Take-away Problem: existing SCA is not flexible for runtime Solution: component-based reconfiguration Personalize each component Update communication (wires) and hierarchy (sub-components) Turn off/on component for reconfiguration Dynamically construct the whole platform Performance Issue: reconfiguration requires offline Benefits for SIS: Cycles/Operators as Services Runtime config/switch among short/long cycles (fast/slow intelligence) Cycles: coarse-grained Behaviors: fine-grained

References [1] Saberi Mohsen. “A Component-Based Reconfigurable Platform for SOA.” International Journal of Computer and Information Technology, Volume 06 – Issue 05, September 2017. [2] Lionel Seinturier, Philippe Merle, Romain Rouvoy, Daniel Romero, Valerio Schiavoni, et al.. “A Component-Based Middleware Platform for Reconfigurable Service-Oriented Architectures.” Software: Practice and Experience, 42 (5), pp.559-583, 2012. [3] Bruneton Eric, Thierry Coupaye, Matthieu Leclercq, Vivien Quéma, and Jean‐Bernard Stefani. “The Fractal Component Model and Its Support in Java.” Software: Practice and Experience, 36, no. 11‐12, pp. 1257-1284, 2006.