1 CS590L Distributed Component Architecture Yugi Lee STB #555 (816) 235-5932 * This presentation is designed based.

Slides:



Advertisements
Similar presentations
J0 1 Marco Ronchetti - Basi di Dati Web e Distribuite – Laurea Specialistica in Informatica – Università di Trento.
Advertisements

Common Object Request Broker Architecture (CORBA) By: Sunil Gopinath David Watkins.
Broker Pattern Pattern-Oriented Software Architecture (POSA 1)
I.1 Distributed Systems Prof. Dr. Alexander Schill Dresden Technical University Computer Networks Dept.
Service Oriented Architectures in Heterogeneous Environments
Introduction to Java 2 Enterprise Edition About myself –Neutrinos, Cancer Research, IT Applications Today’s topic: J2EE –Context –Advantages –Components.
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.
JAVA Technology. Java Technology Java technology is a portfolio of products that are based on the power of networks and the idea that the same software.
Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared to centralized applications Explain.
1. Introducing Java Computing  What is Java Computing?  Why Java Computing?  Enterprise Java Computing  Java and Internet Web Server.
Software Engineering and Middleware: a Roadmap by Wolfgang Emmerich Ebru Dincel Sahitya Gupta.
PROGRESS project: Internet-enabled monitoring and control of embedded systems (EES.5413)  Introduction Networked devices make their capabilities known.
JMS Java Message Service Instructor Professor: Charles Tappert By Student: Amr Fouda.
July 23 th, 2005 Software Architecture in Practice RiSE’s Seminars Bass’s et al. Book :: Chapter 16 Fred Durão.
Software Engineering Module 1 -Components Teaching unit 3 – Advanced development Ernesto Damiani Free University of Bozen - Bolzano Lesson 2 – Components.
Object Based Operating Systems1 Learning Objectives Object Orientation and its benefits Controversy over object based operating systems Object based operating.
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared.
12-1 © Prentice Hall, 2004 Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
CS6320 – J2EE L. Grewe MOTIVATION: E-commerce and Enterprise Computing Models Four models for e-commerce and enterprise computing: Four models for e-commerce.
Mobile Computing Lecture: 4.
Design Patterns Trends and Case Study John Hurst June 2005.
EJB Overview Celsina Bignoli Distributed Business Applications Server DB Client DB Server DB.
Quality Assurance for Component- Based Software Development Cai Xia (Mphil Term1) Supervisor: Prof. Michael R. Lyu 5 May, 2000.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
Middleware-Based OS Distributed OS Networked OS 1MEIT Application Distributed Operating System Services Application Network OS.
Introduction to distributed systems Dr. S. Indran 23 January 2004.
Tiny Components – a collection of initial ideas copyright © 2003 Tiny Components Tiny Components A Component Model for Small, Embedded or Mobile devices.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED.
Client Server Technologies Middleware Technologies Ganesh Panchanathan Alex Verstak.
1 G52IWS: Distributed Computing Chris Greenhalgh.
Chemical Toxicity and Safety Information System Shuanghui Luo Ying Li Jin Xu.
Chapter 3: Objects, Components, and the Web Textbook IT Architectures and Middleware, Second Edition Chris Britton and Peter Bye AIT 600 Jeff Schmitt September.
第十四章 J2EE 入门 Introduction What is J2EE ?
Enterprise Java Beans Java for the Enterprise Server-based platform for Enterprise Applications Designed for “medium-to-large scale business, enterprise-wide.
Web Services Kanda Runapongsa Dept. of Computer Engineering Khon Kaen University.
1 Introduction to Middleware. 2 Outline What is middleware? Purpose and origin Why use it? What Middleware does? Technical details Middleware services.
Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared.
Real Time Auction System Metex Systems Inc.. Inside the UML The Problem Auctioning in real time over the Web requires that many people connect and participate.
Middleware for FIs Apeego House 4B, Tardeo Rd. Mumbai Tel: Fax:
Databases JDBC (Java Database Connectivity) –Thin clients – servlet,JavaServer Pages (JSP) –Thick clients – RMI to remote databases –most recommended way.
Introduction Infrastructure for pervasive computing has many challenges: 1)pervasive computing is a large aspect which includes hardware side (mobile phones,portable.
1 Java EE Programming Enterprise JavaBeans. 2 Topics J2EE Overview Enterprise JavaBeans Overview Enterprise Entity Beans Case Study How to build them.
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.
CS590L - Lecture 2 1 CS590L Distributed Component Architectures Yugi Lee STB #555 (816)
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
GRID ANATOMY Advanced Computing Concepts – Dr. Emmanuel Pilli.
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 System using J2EE. 2 What is J2EE?  J2EE (Java2 Enterprise Edition) offers a suite of software specification to design, develop, assemble.
Distributed Computing Paradigms1. 2 Paradigms for Distributed Applications Paradigm means “a pattern, example, or model.” In the study of any subject.
Java Programming: Advanced Topics 1 Enterprise JavaBeans Chapter 14.
Enterprise Computing Distribution and components.
EJB. Introduction Enterprise Java Beans is a specification for creating server- side scalable, transactional, multi-user secure enterprise-level applications.
E-commerce Architecture Ayşe Başar Bener. Client Server Architecture E-commerce is based on client/ server architecture –Client processes requesting service.
1 CS590L Distributed Component Architecture Yugi Lee STB #555 (816) * This presentation is prepared based.
Supporting Mobile Collaboration with Service-Oriented Mobile Units
Distribution and components
#01 Client/Server Computing
Inventory of Distributed Computing Concepts and Web services
Enterprise Application Integration Styles
Inventory of Distributed Computing Concepts
Component-based Applications
Component Technology Bina Ramamurthy 2/25/2019 B.Ramamurthy.
Enterprise Integration
Quality Assurance for Component-Based Software Development
Knowledge Byte In this section, you will learn about:
Inventory of Distributed Computing Concepts
#01 Client/Server Computing
Presentation transcript:

1 CS590L Distributed Component Architecture Yugi Lee STB #555 (816) * This presentation is designed based on Michael Stal’s COM+, CORBA, EJB Presentations

2 Motivation Driven by the Internet as well as mobile and embedded devices distributed solutions are now considered common place. However, building distributed applications is a non- trivial task. Thus, the question is: how can we efficiently build and deploy such applications? –Basic architectural understanding of OO Middleware. –Better leveraging Component Platforms.

3 Distributed Applications

4 Services of the Middle Tier The services in the Middle Tier participate in different kinds of tasks: –They must participate in the workflow of integrated business processes. –They must connect to databases and other backend systems for data storage and service access.

5 Services of the Middle Tier Problem: Functionality in the middle tier is always subject to change and adaptation. It is used in unforeseen contexts (from different clients). Solution: The middle tier should not be structured as a monolithic unit but rather be decomposed.

6 Component-based Software Components are the appropriate means for decomposition: Presentation Tier components: –they typically represent sophisticated GUI elements. –they share the same address space with their clients. –their clients are containers that provide all the resources. –they send events to their containers. Middle Tier components: –they typically provide server-side functionality. –they run in their own address space. –they are integrated into a container that hides all system details.

7 Building distributed applications is complex How to cope with heterogeneity? How to access remote services in a location-transparent way? How to handle (de-) marshaling issues? How to find remote objects? How to activate remote objects? How to keep state persistent and consistent? How to solve security issues? Synchronous/ asynchronous communication?

8 Distributed Objects are the answer What we need is an architecture that... –supports a remote method invocation paradigm – provides location transparency – allows to add, exchange, or remove services dynamically – hides system details from the developer

9 Requirements for Distributed Component-based Applications Transparent, platform-neutral communication. Activation strategies for remote components. Non-functional properties such as performance, scalability, Quality of Service. Mechanism to find and create remote components. Keeping state persistent and consistent. Security issues. Data transformation. Deployment and configuration.

10 Component/Container Approach In order to shield components from the underlying infrastructure specifics, containers are introduced. Containers: –manage components and notify components about events such as activation, passivation, transactions. –provide components access to services such as transactions, security, persistence. –help to register and deploy components.

11 Application Servers (Servers+ Containers)

12 Select the right standard COM+, Windows DNA 2000, Microsoft. NET or CCM (Corba Component Model), CORBA 3 or EJB v2, J2EE Andrew Tanenbaum: “The best thing about standards is that there are so many to choose from“

13 EJB 2.0 There are three flavors of enterprise Beans: –A session bean type (mandatory for EJB 1.0 and EJB 1.1 compliant containers) –An entity bean type (mandatory in EJB 1.1 compliant containers) –A message bean type (mandatory in EJB 2.0 compliant containers)

14

15 CORBA-3 In the year 2000 the OMG has published CORBA 3 which offers solutions in the 3 areas: –Internet –Quality of Service – Components With CORBA 3, the OMG offers a full range of enterprise technologies. –the specification of CCM (Corba Component Model), 11/2001 –Interoperability (COM, EJB) –Portable Object Adapter (POA)

16 CORBA Architecture

17 COM+ First of all: COM+ = COM + Services COM+ is MTS 3.0 It is integrated to Windows 2000 It contains a lot of services such as –Transaction Serrvices (MTS) –Security Services –Synchronization Services –Queued Components –Event Service –COM+ Catalog = RegDB + Registry

18 COM+ Architecture

19 Middleware Comparision-1

20 Middleware Comparision-2

21 Middleware Comparision-3 IIOP: Internet Inter-Orb Protocol, OTS: Object Transaction Services, JTS: Java Transaction Services, MTS: Microsoft Transaction Services ADSI: Active Directory Service Interfaces JNDI: Java Naming and Directory Interface AMI: Asynch Messaging Interface

22 Middleware Comparision- 4 UPnP: Universal Plug and Play

23 Universal Plug and Play an architecture for pervasive peer-to-peer network connectivity of PCs of all form factors, intelligent appliances, and wireless devices. a distributed, open networking architecture that leverages TCP/IP and the Web to enable seamless proximity networking in addition to control and data transfer among networked devices in the home, office, and everywhere in between. MS XP support for UPnP Internet gateways, providing broadband users for online games, videoconferencing and other peer-to-peer services.

24 JINI/JXTA Jini: an open architecture that enables developers –to create network-centric services that are highly adaptive to change. – to build adaptive networks that are scalable, evolvable and flexible as typically required in dynamic computing environments. JXTA: –a set of open, generalized peer-to-peer (P2P) protocols, defined as XML messages, that allow any connected device on the network ranging from from cell phones and wireless PDAs to PCs and servers to communicate and collaborate in a P2P manner. –JXTA peers create a virtual network where any peer can interact with other peers and resources directly even when some of the peers and resources are behind firewalls and NATs or are on different network transports.

25 References Henning, Vinoski: Advanced CORBA Programming with C++, Addison- Wesley, Donald Box: Essential COM, Addison Wesley, Chappel, Understanding Windows 2000 Distributed Services, Microsoft Press, Rofail, Shohoud, COM and COM+, Sybex, Buschmann, Meunier, Rohnert, Sommerlad, Stal: Pattern- Oriented Software Architecture - A System of Patterns, Wiley, Schmidt, Stal, Rohnert, Buschmann: Pattern- Oriented Software Architecture 2 – Patterns for Concurrent and Networked Objects, Wiley, Gamma, Helm, Johnson, Vlissides: Design Patterns - Elements of Reusable Object-Oriented Software, Addison Wesley, 1995.