Component models. Page 1

Similar documents
COMPONENT BASED TECHNOLOGY (IT-1401)

JAYARAM. COLLEGE OF ENGINEERING AND TECHNOLOGY Pagalavadi, Tiruchirappalli (An approved by AICTE and Affiliated to Anna University)

Appendix A - Glossary(of OO software term s)

CHARLES UNIVERSITY, PRAGUE FACULTY OF MATHEMATICS AND PHYSICS. Master Thesis. Michael Cífka Visual Development of Software Components

KINGS COLLEGE OF ENGINEERING DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING ACADEMIC YEAR (ODD SEMESTER) QUESTION BANK

Software Components and Distributed Systems

Distributed Multitiered Application

Limitations of Object-Based Middleware. Components in CORBA. The CORBA Component Model. CORBA Component

Introduction to componentbased software development

CHAPTER 7 COM and.net

Deccansoft Software Services. J2EE Syllabus

Architecture of Distributed Systems Component-based Systems

What we need. Agenda. What s J2EE. Challenges of Enterprise Application Development

Vision of J2EE. Why J2EE? Need for. J2EE Suite. J2EE Based Distributed Application Architecture Overview. Umair Javed 1

NetBeans IDE Field Guide

Architectures of Distributed Systems 2011/2012

Developing Software Applications Using Middleware Infrastructure: Role Based and Coordination Component Framework Approach

Comparing JavaBeans and OSGi

Designing a Distributed System

J2EE Interview Questions

Distributed Technologies - overview & GIPSY Communication Procedure

IN software engineering, component-based development

~ Ian Hunneybell: CBSD Revision Notes (07/06/2006) ~

Distributed Systems. Web Services (WS) and Service Oriented Architectures (SOA) László Böszörményi Distributed Systems Web Services - 1

A NET Refresher

J2EE Development. Course Detail: Audience. Duration. Course Abstract. Course Objectives. Course Topics. Class Format.

Introduction. Enterprise Java Instructor: Please introduce yourself Name Experience in Java Enterprise Edition Goals you hope to achieve

New programming language introduced by Microsoft contained in its.net technology Uses many of the best features of C++, Java, Visual Basic, and other

Architecting a Network-Centric M&S Application

Java EE 7: Back-End Server Application Development

A General ecommerce Platform with Strong International and Local Aspects

Creating a Service Platform for.net. Clement Escoffier PhD Student University of Grenoble

The Koala Component Model for Consumer Electronics Software by: Ommering, Linden, Kramer, Magee. Presented by: Bridget Flaherty.

Automatic Code Generation for Non-Functional Aspects in the CORBALC Component Model

Application Servers G Session 5 - Main Theme Object Management Architectures. Dr. Jean-Claude Franchitti

Towards a Unified Component & Deployment Model for Distributed Real Time Systems

Developing Microsoft.NET Applications for Windows (Visual Basic.NET)

ISO/IEC INTERNATIONAL STANDARD

Enterprise JavaBeans (I) K.P. Chow University of Hong Kong

Today: Distributed Objects. Distributed Objects

Application Servers in E-Commerce Applications

These are the contents: First, I outline the basics of CORBA, showing its strong and weak points, and what has to be improved. Next, I describe what I

Distributed Middleware. Distributed Objects

Oracle Fusion Middleware 11g: Build Applications with ADF I

POAD Book: Chapter 4: Design Patterns as Components Chapter 5: Visual Design Models

A Strategic Comparison of Component Standards

Architecture. Readings and References. Software Architecture. View. References. CSE 403, Spring 2003 Software Engineering

Configuration Management for Component-based Systems

Erik Dörnenburg JAOO 2003

Architecture. CSE 403, Winter 2003 Software Engineering.

Program Contents: DOTNET TRAINING IN CHENNAI

A Grid-Enabled Component Container for CORBA Lightweight Components

Middleware: Challenges and Evolution from Procedural to Service Orientation

Introduction to Web Services & SOA

Implementing a Web Service p. 110 Implementing a Web Service Client p. 114 Summary p. 117 Introduction to Entity Beans p. 119 Persistence Concepts p.

A Systematic Approach to Composing Heterogeneous Components

CO Java EE 7: Back-End Server Application Development

On Hierarchical, parallel and distributed components for Grid programming

PLATFORM TECHNOLOGY UNIT-5

Introduction to Web Services & SOA

Model Driven Architecture

.NET. Inf 5040, Outline. Gyrd Brændeland, Sharath Babu Musunoori, Åshild Grønstad Solheim

Oracle Fusion Middleware 11g: Build Applications with ADF I

Page 1. Extreme Java G Session 8 - Sub-Topic 2 OMA Trading Services

.NET Advance Package Syllabus

Introduction To Web Architecture

Introduction to.net Framework

Oracle - Developing Applications for the Java EE 7 Platform Ed 1 (Training On Demand)

CORBA and COM TIP. Two practical techniques for object composition. X LIU, School of Computing, Napier University

Microsoft.NET Programming (C#, ASP.NET,ADO.NET, VB.NET, Crystal Report, Sql Server) Goal: Make the learner proficient in the usage of MS Technologies

Anno Accademico Laboratorio di Tecnologie Web Introduzione ad Eclipse e Tomcat

Problems in Scaling an Application Client

Basic Web Applications. Extreme Java G Web Server. Enterprise Data. Client Browser

Oracle Fusion Middleware 11g: Build Applications with ADF Accel

Oracle 10g: Build J2EE Applications

.Net. Course Content ASP.NET

JBoss to Geronimo - EJB-Session Beans Migration

WebSphere 4.0 General Introduction

BeanBag. An Extensible Framework. for Describing, Storing. and Querying Components

Java- EE Web Application Development with Enterprise JavaBeans and Web Services

Trading Services for Distributed Enterprise Communications. Dr. Jean-Claude Franchitti. Presentation Agenda

Computational Web Portals. Tomasz Haupt Mississippi State University

Component-based Architecture Buy, don t build Fred Broks

A Code Generator for Software Component Services in Smart Devices

Enterprise Java Unit 1-Chapter 2 Prof. Sujata Rizal Java EE 6 Architecture, Server and Containers

COMPONENT-ORIENTED PROGRAMMING

Distributed Objects. Object-Oriented Application Development

Electronic Payment Systems (1) E-cash

index_ qxd 7/18/02 11:48 AM Page 259 Index

describe the functions of Windows Communication Foundation describe the features of the Windows Workflow Foundation solution

Distributed Object-Based Systems The WWW Architecture Web Services Handout 11 Part(a) EECS 591 Farnam Jahanian University of Michigan.

SCBCD EXAM STUDY KIT. Paul Sanghera CX JAVA BUSINESS COMPONENT DEVELOPER CERTIFICATION FOR EJB MANNING. Covers all you need to pass

Developing Applications with Java EE 6 on WebLogic Server 12c

Component-Based Software Engineering. ECE493-Topic 5 Winter Lecture 26 Java Enterprise (Part D)

Interconnection of Distributed Components: An Overview of Current Middleware Solutions *

2

Challenges in component based programming. Lena Buffoni

Chapter 12 Microsoft Assemblies. Software Architecture Microsoft Assemblies 1

Component-based Runtime Environment for Cloud Applications

TOPLink for WebLogic. Whitepaper. The Challenge: The Solution:

Transcription:

Component Models and Technology Component-based Software Engineering Ivica Crnkovic ivica.crnkovic@mdh.se Page 1 Overview Introduction ACME Architectural Description Language Java Bean Component Model COM, DCOM, MTS and COM+ CORBA Component Model (CCM).NET Component Model OSGI Component Model Page 2

Architecture Definition Languages ADLs primarily address the issues related to the early phases of software engineering: Design Analysis They identify a number of concepts, such as: Architecture, configurations, connectors, bindings, properties, hierarchical models, style, static analysis and behavior. Page 3 ACME Architectural Description Language Components and Ports Connectors and Roles Systems and Attachments Representations and Bindings Properties, Constraints, Types and Styles Page 4

Components and Ports Components Represent the computational elements and data stores of a system. Ports Are the points of interaction between a component and its environment. Component Port Page 5 Connectors and Roles Connectors Represent interactions between components such as method calls or an SQL connection between a client and a database server. The interface of a connector is defined as a set of roles Connector Role Page 6

Systems and Attachments The structure of a system is specified by a set of components, a set of connectors, and a set of attachments. Attachment Links a component port to a connector role. Attachement Page 7 Representations and Bindings Component Connector Port Role Attachement Binding Page 8

Component Interactions Interactions with other components Iteractions with traditional software entities Interactions with component infrastructure Interactions with other components Traditional software entities Components Component Infrastructure Page 9 Java Bean Component Model Page 10

Key Features "A Java Bean is a reusable software component that can be manipulated visually in a builder tool. The Java Bean was designed for the construction of graphical user interface (GUI). Explicitly tailored to interact in two different contexts: At composition time, within the builder tool. At execution time, with the runtime environment. Any Java class that adheres to certain conventions regarding property and event interface definitions can be a JavaBean. Beans are Java classes that can be manipulated in a visual builder tool and composed into applications. Page 11 Interface of a Component This model defines four types of port: methods, properties, event sources (generate an event) event sinks called listeners (they receive event) Property Method Event source Event sink(listener) Bounded property v Vetoable property ro wo 1 Read-only property Write-onlyproperty Unicast event source Ports Page 12

Implementation of a Component Most bean components are implemented by a simple Java object by naming convention Object Method A simple implementation Page 13 Components Assembly Assembly is one of the key features of Java Bean though no not specific solution is provided. Composition tools (Bean Box) No composition language Different ways of assembling components are supplied. Component-based assembly Heterogeneous assembly Page 14

Packaging and Deployment Java Beans define a model for packaging components into archives. Includes the definition of dependency relationships between the package items. Each package item can be marked "Design Only", so that they can be removed in a final application. Page 15 Enterprise JavaBeans Architecture for distributed applications Framework for creating middleware EJB client EJB Server EJB Container Enterprise bean Clients accesses JBs via containers Page 16

EJB Servers Analogous to CORBA ORB Naming and directory interface (JNDI) Client finds EJB via JNDI JTS Java Transaction Services Page 17 COM/DCOM Page 18

Interfaces and Assembly A COM interface is seen as a C++ virtual class and takes the form of a list of data and function declarations without associated code. All interfaces are descendants of the IUnknown interface. Interface Component interface Component implementation Page 19 Implementation COM defines a binary standard for interfaces Language independent implementation of the interfaces Interfaces are defined in Interface Definition Language (IDL) An interface has an GUID as an identifier IUnknown IDispatch Page 20

Composition Two type of explicit composition Delegation Aggregation For aggregation source code is needed Page 21 CORBA Component Model (CCM) Page 22

OMA Overview OMA Object Management Architecture CORBAapps CORBAdomains CORBAfacilities CORBA (Common Object Request Broker Architecture) Transactions Event Security Naming CORBAservices Page 23 Interface and Assembly A component interface is made of ports divided into: Facets - for interaction with clients Receptacles references o external code Event sources Event sinks Attribute Facet Receptacle Event source Event sink Segment Component interface Ports Component implementation Page 24

Framework : The Container Approach Framework a set of containers. Containers contains components and provides a set of standard services (security, events, persistence, life -cycle support) container CCM run-time infrastrucure Page 25 :NET Page 26

What is.net? NET is a platform that enables: Software as services, especially over the web Distributed computing Componentization Enterprise services Page 27.NET Platform VB C++ C# JScript Common Language Specification ASP.NET Windows Forms ADO.NET and XML Base Class Library Common Language Runtime Visual Studio.NET Operating Systems Page 28

.NET Framework Components Common Language Runtime (CLR) Common type system for all languages Runtime environment Class libraries (.NET Framework) Base class libraries, ADO.NET and XML Windows Forms for, Win32 applications Web application platform ASP.NET Interactive pages Web services that are SOAP enabled Page 29.NET Component Model - Implementation A component (assembly) is made of modules, which are traditional executable files (DLL). Modules cannot be assemblies, thus the.net model is not hierarchical. Attribute Method Event source Modules Component interface Ports Component implementation Page 30

Framework.NET relies on the traditional programming approach : the framework is seen as the language run-time support. MISL Microsoft Intermediate language (similar to Java Byte code) Common Runtime Language (similar to Java Virtual Machine) Transaction control relies on MTS. Page 31 Lifecycle Assemblies (and their modules) are local to an application, and thus different DLLs with same name can run simultaneously. Each assembly has a versioning information about itself and about the assemblies it depends on. Version control is delegated to the dynamic loader, which selects the right version. Significantly improve the application packaging and deployment. Page 32

Other component models OSGI Component Model KOALA component model IEC 61131-3 standard languages (functional blocks) Real-time components Page 33 A Koala Component Subcomponent Interfaces A switch C C C 1 s m C 2 C 3 A module Page 34

OSGI Component Model Components Interface of a Bundle Component Assembly of Bundle Components Implementation of a Bundle Component Page 35 Components A bundle use three kinds of ports to express its interactions with Traditional technology Other components The run-time environment Bundles may listen to events published by the framework such as the insertion of a new component in a system. Page 36

Interface of a Bundle Component Package export Package import Service interface Service use static dynamic Interface of a bundle component Ports Page 37 Assembly of Bundle Components A system is an evolving set of bundle components. A bundle component publishes a service interface It can attach to it a set of properties describing its characteristics. A component requires an interface for its use, It will select one via a query expression based on these properties. This flexibility also has its counterpart There is no guarantee than the service will continue to be available Page 38

Implementation of a Bundle Component JAR archive containing: Service components Java packages Other resources files Package Resource Service component Activator Page 39