6st ACS Workshop UTFSM ACS Course Component, Container, Lifecycle Management 6st ACS Workshop UTFSM, Valparaiso, Chile H. Sommer, G. Chiozzi.

Slides:



Advertisements
Similar presentations
Message Passing Vs Distributed Objects
Advertisements

COM vs. CORBA.
NRAO/ESO videocon, Feb.12, 2004 ACS ALMA Common software G.Chiozzi and the ACS team.
Seminarium on Component-based Software Engineering Jan Willem Klinkenberg CORBA.
Component Patterns – Architecture and Applications with EJB copyright © 2001, MATHEMA AG Component Patterns Architecture and Applications with EJB JavaForum.
Technical Architectures
Introduction to Enterprise JavaBeans. Integrating Software Development Server-side Component Model Distributed Object Architecture –CORBA –DCOM –Java.
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
Software Frameworks for Acquisition and Control European PhD – 2009 Horácio Fernandes.
Copyright W. Howden1 Lecture 19: Intro to O/O Components.
Apache Axis: A Set of Java Tools for SOAP Web Services.
1st ACS Workshop UTFSM ALMA Common Software Training- Course ACS Characteristic Components 1st ACS Workshop UTFSM, Valparaiso, Chile G.Chiozzi, …..
Communication in Distributed Systems –Part 2
Application Architectures Vijayan Sugumaran Department of DIS Oakland University.
ACS Logging System Concepts and Example H.Sommer (Restructured, based on slides from previous years) UTFSM Valparaiso, Chile, Nov ACS Logging System.
EJB Overview Celsina Bignoli Distributed Business Applications Server DB Client DB Server DB.
Container-component model and XML in ALMA ACS Heiko Sommer (ESO), Gianluca Chiozzi (ESO), Klemen Zagar (Cosylab) and Markus Völter.
Understanding the CORBA Model. What is CORBA?  The Common Object Request Broker Architecture (CORBA) allows distributed applications to interoperate.
The ALMA Common Software: a developer friendly CORBA-based framework G.Chiozzi d, B.Jeram a, H.Sommer a, A.Caproni e, M.Pesko bc, M.Sekoranja b, K.Zagar.
COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department.
Advanced Java Session 7 New York University School of Continuing and Professional Studies.
ALMA Common Software Basic Track Introduction to the ACS Framework.
Enterprise Java Beans Part I Kyungmin Cho 2001/04/10.
©Ian Sommerville 2000 Software Engineering, 6th edition. Slide 1 Component-based development l Building software from reusable components l Objectives.
50mm Telescope ACS Course Garching, 15 th to 19 th January 2007 January 2007Garching.
Replication & EJB Graham Morgan. EJB goals Ease development of applications –Hide low-level details such as transactions. Provide framework defining the.
Enterprise Java Bean Matt. 2 J2EE 3 J2EE Overview.
EJB Framework.  As we know, EJB is the center of the J2EE architecture that provides a sturdy framework for building enterprise applications. The major.
Component Architecture (CORBA – RMI) -Shalini Pradhan.
J2EE Structure & Definitions Catie Welsh CSE 432
+ A Short Java RMI Tutorial Usman Saleem
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
1 of of 25 3 of 25 ORBs (Object Request Broker) – A distributed software bus for communication among middleware services and applications – To.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking.
Copyright 2007 SpringSource. Copying, publishing or distributing without express written permission is prohibited. Introduction to Spring Remoting Simplifying.
Running ACS Bogdan Jeram European Southern Observatory July 2005NAOJ.
ICALEPCS’ GenevaACS in ALMA1 Allen Farris National Radio Astronomy Observatory Lead, ALMA Control System.
Common Object Request Broker Architecture (CORBA) The Common Object Request Broker Architecture (CORBA) is a specification of a standard architecture for.
CS 501: Software Engineering Fall 1999 Lecture 12 System Architecture III Distributed Objects.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Garching - 15th - 19th January, 2007 ACS: status and latest development The ACS Team.
Component Patterns – Architecture and Applications with EJB copyright © 2001, MATHEMA AG Component Patterns Architecture and Applications with EJB Markus.
Introduction to EJB. What is an EJB ?  An enterprise java bean is a server-side component that encapsulates the business logic of an application. By.
1 Distributed Systems Distributed Object-Based Systems Chapter 10.
Java Programming: Advanced Topics 1 Enterprise JavaBeans Chapter 14.
1st ACS Workshop UTFSM, Valparaiso, Chile ACS Course The Big Picture of ACS H. Sommer, G.Chiozzi.
(C) 2003 University of ManchesterCS31010 Lecture 14: CORBA.
ESO - Garching 08 – 09 March, st ALMA Common Software Workshop ACS Container/Component Model.
Middleware Technology (J2EE/EJB) EJB Fundamentals.
EJB Enterprise Java Beans JAVA Enterprise Edition
ALMA Common Software Basic Track Component/Container Model and Lifecycle Management.
CEN6502, Spring Understanding the ORB: Client Side Structure of ORB (fig 4.1) Client requests may be passed to ORB via either SII or DII SII decide.
EJB. Introduction Enterprise Java Beans is a specification for creating server- side scalable, transactional, multi-user secure enterprise-level applications.
Topic 5: CORBA RMI Dr. Ayman Srour
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 15 System Architecture III.
Leveraging ColdSpring to build a robust Flex applications Chris Scott, Cynergy Systems.
CORBA Antonio Vasquez, John Shelton, Nidia, Ruben.
Java Distributed Computing
Java Distributed Computing
The OMG Approach (continued)
Inventory of Distributed Computing Concepts and Web services
Interpreter Style Examples
Introduction to Enterprise JavaBean
Understanding and Designing with EJB
Inventory of Distributed Computing Concepts
Component--based development
Seminarium on Component-based Software Engineering
Copyright 1999 B.Ramamurthy
Presentation transcript:

6st ACS Workshop UTFSM ACS Course Component, Container, Lifecycle Management 6st ACS Workshop UTFSM, Valparaiso, Chile H. Sommer, G. Chiozzi

ALMA Project 2UTFSM Valparaiso, Chile, Nov 20096st ACS Workshop UTFSM Container/Component ACS container Component My container starts and stops me and offers its services, some of which I don’t notice I only care about the Lifecycle IF of my components Component

ALMA Project 3UTFSM Valparaiso, Chile, Nov st ACS Workshop UTFSM Component Deployable unit of ALMA software –same concept from device level to data flow application –1…many PL classes per component –1…many components per subsystem Functional interface defined in CORBA IDL Deployed inside a Container Well-defined lifecycle (initialization, finalization) Accessible as a plain CORBA object if required Focus on functionality with little overhead for remote communication and deployment Concept promotes modular and decoupled application code Similar ideas in EJB,.NET, CCM

ALMA Project 4UTFSM Valparaiso, Chile, Nov st ACS Workshop UTFSM Container Centrally handles technical concerns and hides them from application developers –Deployment, Start-up –Selection und configuration of various ORBs; here CORBA alone is much too complicated. –Selection of CORBA Services, integration with ACS Services (Error, Logging, configuration, …) –Convenient access to other components and resources New technical aspects can be integrated in the future, w/o modifying application software

ALMA Project 5UTFSM Valparaiso, Chile, Nov st ACS Workshop UTFSM Container/Component IFs container Comp CORBA ORBs Services lifecycle interface: init run shutdown Comp functional interface: observe readValue container service IF getName getLogger getComponent other ACS services Manager deployment configurations

ALMA Project 6UTFSM Valparaiso, Chile, Nov st ACS Workshop UTFSM Tight vs. Porous Container por. container tight container Comp CORBA, ACS services Comp functional interface is intercepted by container, for logging/exception handling, security, … container manages Lifecycle and offers services, but exposes the component’s functional interface directly – less overhead

ALMA Project 7UTFSM Valparaiso, Chile, Nov st ACS Workshop UTFSM Component Offshoots Comp CORBA, ACS services Comp Offshoot uses same Container Services instance Remotely visible object created by a component Life is limited to that of the component Offshoots are conceptually “in between” components and PL-objects See FAQ

ALMA Project 8UTFSM Valparaiso, Chile, Nov st ACS Workshop UTFSM Interactions (component activation & retrieval) C++ Container Comp2 Comp1 CDB deployment configurations Java Container Comp2 Comp1 Container IF Manager Manager IF (2) which Container can run “myComp”? (0) login (3) activate(“myComp”) returns a reference to that component (1) get(“myComp”) Container IF CORBA stubs and skeletons are everywhere, but not shown…

ALMA Project 9UTFSM Valparaiso, Chile, Nov st ACS Workshop UTFSM Interactions (component activation & retrieval) 1.Manager and CDB (with deployment info) run 2.Containers are logged in to the Manager with their names, e.g. “TelescopeContainer” or “PipelineContainer1” 3.We assume that one Component is running already… 4.The Component requests a reference to another Component from its Container 5.Container asks Manager for that other Component 6.Manager asks CDB which Container can host the Component (can be the same or a different container as before) 7.Manager tells Container to load the new Component

ALMA Project 10UTFSM Valparaiso, Chile, Nov st ACS Workshop UTFSM Interactions (component activation & retrieval) 8.Container returns reference to new Component to the Manager 9.Manager returns reference to new Component to first Container 10.Now the Container gives its Component the reference to the other Component. It is not allowed to pass directly Component references between Components as parameters of interfaces. Components must be passed around ALWAYS by name and a request to the Manager must be issued using the Container Services getComponent() interface.

ALMA Project 11UTFSM Valparaiso, Chile, Nov st ACS Workshop UTFSM Component’s client view Comp IDL functional interface: observe() Client (a component) ACS Manager 1 -Ask for reference to component IDL stub 2a – invoke c.observe() Interface repository 2b.1 - Retrieve interface 2b.2 - Dynamic invocation

ALMA Project 12UTFSM Valparaiso, Chile, Nov st ACS Workshop UTFSM Interactions (Administration) CDB (static) deployment configurations Container Comp2 Comp1 Cont. IF Manager Manager IF Object Explorer Client IF Admin Client Client IF IF Repository knows component IFs Generic client for any component, allows to call IF methods All about clients, containers, components

ALMA Project 13UTFSM Valparaiso, Chile, Nov st ACS Workshop UTFSM Object Explorer

ALMA Project 14UTFSM Valparaiso, Chile, Nov st ACS Workshop UTFSM ACS Command Center

ALMA Project 15UTFSM Valparaiso, Chile, Nov st ACS Workshop UTFSM Container/Component evolution In recent releases we have improved decoupling of Components and Containers: –Full separation between Container and Container Services Cleaner interfaces Easier to replace Container implementation –Dynamic components –Tasks We have implemented automatic and dynamic deployment of Containers (ACS Daemon). Configuration of the runtime system is being discussed. We are working on better tools to keep aligned the configuration of the various ALMA deployments

ALMA Project 16UTFSM Valparaiso, Chile, Nov st ACS Workshop UTFSM Questions (& Answers)

ALMA Project 17UTFSM Valparaiso, Chile, Nov st ACS Workshop UTFSM Additional slides for discussion

ALMA Project 18UTFSM Valparaiso, Chile, Nov st ACS Workshop UTFSM Component/Container: buy vs. build Same idea as.NET, EJB, CCM –.NET binds to Microsoft platform –EJB binds to Java programming language –CCM is still immature and there are no reliable free implementations Off-the-shelf Component Container implementations are complex and require a wholesale commitment from developers to use the languages and tools supplied. Focus for these Component/Container implementations are big enterprise business systems We aim at staying as much a possible compatible with CMM concepts to allow adopting an implementation, when available.

ALMA Project 19UTFSM Valparaiso, Chile, Nov st ACS Workshop UTFSM Component/Container vs. EJB ALMA components mostly stateless –manipulate entity objects (passed by value) –talk to backend systems Thus stateless session beans or Message Driven Beans would be used Would only gain instance pooling with resulting thread-safety Availability of free application servers more doubtful than with CORBA Integration with CORBA not as easy (IDL, services, exceptions) Modifications of EJB container for XML entities more difficult…