The OMG Approach (continued)

Slides:



Advertisements
Similar presentations
COM vs. CORBA.
Advertisements

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 2.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 9 Distributed Systems Architectures Slide 1 1 Chapter 9 Distributed Systems Architectures.
CORBA - Common Object Request Broker Architecture.
Seminarium on Component-based Software Engineering Jan Willem Klinkenberg CORBA.
Component Models and Technology Component-based Software Engineering
Distributed Systems Architectures
Persistent State Service 1 CORBA Component  Component model  Container programming model  Component implementation framework  Component packaging and.
CORBA Case Study By Jeffrey Oliver March March 17, 2003CORBA Case Study by J. T. Oliver2 History The CORBA (Common Object Request Broker Architecture)
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
EEC-681/781 Distributed Computing Systems Lecture 3 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
II. Middleware for Distributed Systems
Ch 12 Distributed Systems Architectures
Software Engineering Module 1 -Components Teaching unit 3 – Advanced development Ernesto Damiani Free University of Bozen - Bolzano Lesson 2 – Components.
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
J2EE Kenneth M. Anderson CSCI Web Technologies October 3, 2001.
1 Guide to Novell NetWare 6.0 Network Administration Chapter 11.
Introduction to distributed systems Dr. S. Indran 23 January 2004.
Introduction to MDA (Model Driven Architecture) CYT.
第十四章 J2EE 入门 Introduction What is J2EE ?
J2EE Structure & Definitions Catie Welsh CSE 432
Enterprise Java Beans Java for the Enterprise Server-based platform for Enterprise Applications Designed for “medium-to-large scale business, enterprise-wide.
What is MOF? The Meta Object Facility (MOF) specification provides a set of CORBA interfaces that can be used to define and manipulate a set of interoperable.
XML Registries Source: Java TM API for XML Registries Specification.
CORBA IS 8030 – Integrated Computing Environments Dr. Hoganson CORBA Common Object Request Broker Architecture Published by Object Management Group (OMG)
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
CORBA Common Object Request Broker Architecture. Basic Architecture A distributed objects architecture. Logically, an object client makes method calls.
Common Object Request Broker Architecture (CORBA) The Common Object Request Broker Architecture (CORBA) is a specification of a standard architecture for.
Netprog: Corba Object Services1 CORBA 2.0 Object Services Ref: The Essential Distributed Objects Survival Guide: Orfali, Harky & Edwards.
CS 501: Software Engineering Fall 1999 Lecture 12 System Architecture III Distributed Objects.
Jini Architecture Introduction System Overview An Example.
Kemal Baykal Rasim Ismayilov
Tom Meyer, Iowa State SCT/Pixel Online Workshop June, 2001 CORBA Common Object Request Broker Architecture.
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.
Java Programming: Advanced Topics 1 Enterprise JavaBeans Chapter 14.
(C) 2003 University of ManchesterCS31010 Lecture 14: CORBA.
CORBA: Object Adapter, Services, Inter-ORB Protocols - Balaprasuna Chennupati.
EJB Enterprise Java Beans JAVA Enterprise Edition
EJB. Introduction Enterprise Java Beans is a specification for creating server- side scalable, transactional, multi-user secure enterprise-level applications.
Data Sharing Service Kiran Devaram Samatha Gangapuram Harish Maringanti Prashant Shanti Kumar Pradeep Tallogu.
A service Oriented Architecture & Web Service Technology.
CORBA Antonio Vasquez, John Shelton, Nidia, Ruben.
1 Distributed Systems Architectures Distributed object architectures Reference: ©Ian Sommerville 2000 Software Engineering, 6th edition.
Internet and Distributed Application Services
Data and Applications Security Developments and Directions
Common Object Request Broker Architecture (CORBA)
WEB SERVICES From Chapter 19 of Distributed Systems Concepts and Design,4th Edition, By G. Coulouris, J. Dollimore and T. Kindberg Published by Addison.
CORBA Alegria Baquero.
Distribution and components
Ch > 28.4.
Knowledge Byte In this section, you will learn about:
Inventory of Distributed Computing Concepts and Web services
Component-Based Software Engineering: Technologies, Development Frameworks, and Quality Assurance Schemes X. Cai, M. R. Lyu, K.F. Wong, R. Ko.
CORBA Alegria Baquero.
Distributed System Using Java 2 Enterprise Edition (J2EE)
Understanding and Designing with EJB
Inventory of Distributed Computing Concepts
Bina Ramamurthy Chapter 9
An Introduction to Software Architecture
Bina Ramamurthy Chapter 9
Overview of AIGA platform
Bina Ramamurthy Chapter 9
JINI ICS 243F- Distributed Systems Middleware, Spring 2001
Quality Assurance for Component-Based Software Development
WEB SERVICES From Chapter 19, Distributed Systems
Use Case Analysis – continued
Distributed System using Web Services
Distributed Systems Architectures
Presentation transcript:

The OMG Approach (continued) CORBA, CCM, OMA, and MDA

CORBA History CORBA 1 was all about object request brokers and IDL is its hallmark contribution. CORBA 2 focuses on interoperation (and interworking) and IIOP is its hallmark. CORBA 3 focuses on component and system integration and CCM is its hallmark.

Object Management Architecture Since CORBA 2, the OMG’s overall effort is called the object management architecture (OMA). The OMA adds several new areas of standardization: CORBA Services: object service specifications CORBA Facilities: facility specifications A set of application object specifications CCM: the CORBA Component Model

Object Management Architecture (2) The OMA Reference Model shown above identifies and characterizes the components, interfaces, and protocols that compose the OMA.

ORB Central to the OMA model - its communications heart - is the Object Request Broker (ORB) component that enables clients and objects to communicate in a distributed environment. The ORB provides an infrastructure allowing objects to communicate independent of the specific platforms and techniques used to implement the addressed objects. The ORB guarantees portability and interoperability of objects over a network of heterogeneous systems. It supports embedded and real-time systems as well as those requiring fault tolerance and other Quality of Service requirements.

CORBA Services The CORBA Services component standardizes the life cycle management of objects. Functions are provided to create objects, to control access to objects, to keep track of relocated objects and to consistently maintain the relationship between groups of objects. The CORBA Services components provide the generic environment in which single objects can perform their tasks. Standardization of CORBA Services leads to consistency over different applications and improved productivity for the developer.

CORBA Facilities Vertical CORBA Facilities represent components providing computing solutions for business problems within a specific vertical market (e.g., healthcare, manufacturing, finance). Lists of Vertical CORBA Facility specifications are provided on the OMG web site. Horizontal CORBA Facilities represent those components providing support across an enterprise and across businesses. A Digital Asset Management component serves as an example of such a component.

Application Objects The Application Objects part of the architecture represents those objects performing specific tasks for users. Application objects can invoke methods on remote objects either statically or dynamically in a distributed environment through the ORB. Application objects standardized by the OMG represent domain frameworks. An application is typically built from a large number of basic object classes. New classes of application objects can be built by modification of existing classes through generalization or specialization of existing classes (inheritance) as provided by CORBA Services.

Naming and Trader Services The naming service allows arbitrary names to be associated with an object. Names are unique within a naming context and naming contexts form a hierarchy. The resulting naming tree is quite similar to directory structures in file systems. The trader service allows providers to announce their services by registering offers. Clients can use a trader to locate services by description. A trader organizes services into trading contexts. Clients can search for services, based on parts of descriptions and keywords, within selected contexts. The naming service can be compared to White Pages and the trader service to Yellow Pages.

Event and Notification Services The event service allows event objects that can be sent from event suppliers to event consumers to be defined. Event objects are immutable in that information flows strictly in one direction, from supplier to consumer. Events travel through event channels that decouple supplier from consumer. Events can be typed (described using OMG IDL) and channels can be used to filter events according to their type.

Event and Notification Services (2) The event channel supports both the “push” and the “pull” model of event notification. In the “push” model, the event supplier calls a push method on the event channel, which reacts by calling the push method of all registered consumers. In the “pull” model, the consumer calls the pull method of the event channel, effectively polling the channel for events. The channel then calls a pull method on the registered suppliers and returns an event object if it found a supplier that returned an event object.

Event and Notification Services (3) The notification service includes support for: Quality of service (QoS) specification and administration. Standards for typed and structured events. Dynamic event filtering based on type and QoS. Filtering at source, channel, consumer group, and individual consumer level. Event discovery among source, channel, and client. Technically, the notification “service” is not a CORBA service but a CORBA horizontal facility.

Object Transaction Service (OTS) The OTS automatically maintains a current transaction context that is propagated along with all ORB-mediated requests. The context is passed to any CORBA object that implements interface TransactionalObject. The transaction operations begin, commit, and rollback are defined on the current context. Instead of providing transaction control as a separate service, as promoted by the OTS design, it is now more common to integrate transaction services into a container abstraction provided by an application server (as in the CORBA Component Model).

Security Service The CORBA Security specification defines a number of services for tasks such as authentication, secure communication, delegation of credentials (also known as impersonation), and non-repudiation. Most products don’t actually support the full spectrum of security services in this specification. Some simply rely on secure sockets layer (SSL). Using SSL is fine to establish simple authentication and secure communication properties. However, it does not support more advanced concepts such as delegation or non-repudiation.

Other Services Concurrency control Licensing Lifecycle Relationship Persistent state Externalization Properties Object query Object collections Time

CORBA Component Model CCM describes a standard application framework for CORBA components. It is similar to EJB, but more general, providing four component types instead of the two that EJB defines. service, session, entity, and process components Enterprise JavaBeans components and CCM components can be combined in a single application. It provides an abstraction of entities that can provide and accept services through well defined named interfaces called ports.

Features of CCM Components A CCM component is programmatically characterized by a number of features: Ports that are classified into facets, receptacles, event sources, and event sinks. A facet is a provided interface and a receptacle is a required interface. A component instance’s receptacles are connected to other instances’ facets. A special facet of a CCM component is the equivalent interface, which enables navigation between the different facets of a CCM component. Event sources and event sinks are similar, but instead of being connected to each other, they are both connected to event channels.

Features of CCM Components (2) Primary keys, which are values that instances of entity components provide to allow client identification of the instances. Attributes, which are named values exposed via accessors and mutators. Home interfaces, which provide factory functionality to create new instances.

CCM Containers Every CCM component instance is placed inside a CCM container. Containers provide transactions, security, persistence, and notification services to components via interfaces on the container. A number of options are available for each of the four services that CCM packages. Transaction control can be container-managed or self-managed. In the container-managed case, the container will begin and end transactions to meet requests. Similarly, persistence can be declared as container-managed or self-managed. For security, required access permissions can be declared on operations and will be checked by the container.

Model Driven Architecture The idea of MDA is for specifications to be written at two levels, namely platform-independent models (PIMs) and corresponding platform-specific models (PSMs. The hope is that business processes and entities can be modeled at the PIM level to a degree of precision that then enables the automatic generation of large parts of implementations for a variety of platforms, driven by PIM-level models and PIM-to-PSM mappings for the target platform. An MDA goal is to “embrace CORBA, J2EE, XML, .NET and other technologies”. It remains to be seen to what extent this goal can be met.