©Kabira Technologies Inc, 2001 May 7-9, 2001 Westward Look Resort Tucson, Arizona SMUG 2001 Execution in UML.

Slides:



Advertisements
Similar presentations
The Challenges of CORBA Security It is important to understand that [CORBAsecurity] is only a (powerful) security toolbox and not the solution to all security.
Advertisements

COM vs. CORBA.
A component- and message-based architectural style for GUI software
Apache Struts Technology
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 2.
Common Object Request Broker Architecture (CORBA) By: Sunil Gopinath David Watkins.
The road to reliable, autonomous distributed systems
CORBA - Common Object Request Broker Architecture.
Seminarium on Component-based Software Engineering Jan Willem Klinkenberg CORBA.
1 Introduction to XML. XML eXtensible implies that users define tag content Markup implies it is a coded document Language implies it is a metalanguage.
2 Object-Oriented Analysis and Design with the Unified Process Objectives  Explain how statecharts can be used to describe system behaviors  Use statecharts.
Netprog CORBA Intro1 CORBA Common Object Request Broker Architecture Based partially on Notes by D. Hollinger and Java Network Programming and Distributed.
A brief look at CORBA. What is CORBA Common Object Request Broker Architecture developed by OMG Combine benefits of OO and distributed computing Distributed.
28/1/2001 Seminar in Databases in the Internet Environment Introduction to J ava S erver P ages technology by Naomi Chen.
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.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Satzinger, Jackson, and Burd Object-Orieneted Analysis & Design
II. Middleware for Distributed Systems
J2EE Java 2 Enterprise Edition. Relevant Topics in The Java Tutorial Topic Web Page JDBC orial/jdbc
OpenCCM: The Open CORBA Components Platform OSMOSE WP3 CCM Meeting 14th November 2003, LIFL, Lille, France Philippe Merle Jacquard Project.
CORBA Programming Using ACE/TAO
UNIT-V The MVC architecture and Struts Framework.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse 2.
Collaborative Systems Developing Collaborative Systems with a Reuse Driven Process.
1 Lecture 22 George Koutsogiannakis Summer 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES.
UML - Development Process 1 Software Development Process Using UML (2)
Aurora: A Conceptual Model for Web-content Adaptation to Support the Universal Accessibility of Web-based Services Anita W. Huang, Neel Sundaresan Presented.
Copyright © 2003 ProsoftTraining. All rights reserved. Distributed Object Computing Using Java and CORBA.
Beyond DHTML So far we have seen and used: CGI programs (using Perl ) and SSI on server side Java Script, VB Script, CSS and DOM on client side. For some.
Adapting Legacy Computational Software for XMSF 1 © 2003 White & Pullen, GMU03F-SIW-112 Adapting Legacy Computational Software for XMSF Elizabeth L. White.
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
COMP 410 & Sky.NET May 2 nd, What is COMP 410? Forming an independent company The customer The planning Learning teamwork.
©Ian Sommerville 2000 Software Engineering, 6th edition. Slide 1 Component-based development l Building software from reusable components l Objectives.
Java-Based Middleware IT 490 Stan Senesy IT Program NJIT.
第十四章 J2EE 入门 Introduction What is J2EE ?
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 07. Review Architectural Representation – Using UML – Using ADL.
Cli/Serv.: rmiCORBA/131 Client/Server Distributed Systems v Objectives –introduce rmi and CORBA , Semester 1, RMI and CORBA.
Comparison of Web Services, RMI, CORBA, DCOM Usha, Lecturer MCA Department of Computer Science and Engineering.
Information Management NTU Interprocess Communication and Middleware.
1 of of 25 3 of 25 ORBs (Object Request Broker) – A distributed software bus for communication among middleware services and applications – To.
Component frameworks Roy Kensmil. Historical trens in software development. ABSTRACT INTERACTIONS COMPONENT BUS COMPONENT GLUE THIRD-PARTY BINDING.
Systems Analysis and Design in a Changing World, 3rd Edition
07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
CORBA Common Object Request Broker Architecture. Basic Architecture A distributed objects architecture. Logically, an object client makes method calls.
The World Leader in Making Software Work Together ™ Copyright IONA Technologies 1999 Building CORBA Applications (On OS/390 ?) Dusty Rivers Enterprise.
CS 501: Software Engineering Fall 1999 Lecture 12 System Architecture III Distributed Objects.
Assignment of JAVA id : BSSE-F10-M-10-JAVA1 Overview of J2EE/Session 2/Slide 1 of 38.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
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.
Developing Product Line Components Jan Bosch Professor of Software Engineering University of Groningen, Netherlands
G.v. Bochmann, revised Jan Comm Systems Arch 1 Different system architectures Object-oriented architecture (only objects, no particular structure)
Collaborative Systems Developing Collaborative Systems with a Reuse Driven Process.
Java Programming: Advanced Topics 1 Building Web Applications Chapter 13.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Topic 5: CORBA RMI Dr. Ayman Srour
SOAP, Web Service, WSDL Week 14 Web site:
The Java API for XML-Based Web Services. A Web Service example in Java SOAP-awareServlet (e.g. Apache Axis2) SOAP-awareServlet Any class processing the.
Topic 4: Distributed Objects Dr. Ayman Srour Faculty of Applied Engineering and Urban Planning University of Palestine.
Java Distributed Computing
Web Programming Developing Web Applications including Servlets, and Web Services using NetBeans 6.5 with GlassFish.V3.
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
Java Distributed Computing
Ch > 28.4.
Chapter 6: Architectural Design
Software Development Process Using UML Recap
Presentation transcript:

©Kabira Technologies Inc, 2001 May 7-9, 2001 Westward Look Resort Tucson, Arizona SMUG 2001 Execution in UML

©Kabira Technologies Inc, 2001 Michael M. Lee V.P of Application Engineering

©Kabira Technologies Inc, 2001 Michael M. Lee V.P of Application Engineering Automated Bridging to Third Party Packages

©Kabira Technologies Inc, 2001 Recursive Design 101 Requirements Implementations

©Kabira Technologies Inc, 2001 Domains of Different Technologies Material Handling Process Alarm Handling Generic Equipment Handling Operator Interface Corba-Based Equipment Drivers Java-Based Plant Maintenance You need to use a 3rd party software package (a.k.a. COTS, legacy software, realized domain) as a service? You need to expose your system as a service to another system? But What Happens When Straightforward approach with homogeneous, OOA domains

©Kabira Technologies Inc, 2001 Bridging to 3rd Party Packages Generic Equipment Handling Corba-Based Equipment Drivers The ability of the client domain to drive requirements on the service domain is limited. –totally limited if service is fixed –partially limited if it isn’t fixed The implementation mechanisms can be dictated by the service. –Corba, Java –execution paradigms (transactions, multi versus single threaded, synch/asynch)

©Kabira Technologies Inc, 2001 The Question for Code Generation executable process standard compiler technology conventional compiler and linker object-oriented models Model Compiler Model Code System Software Architecture Run Time Implementation Platform Translation Rules Design Patterns Frameworks Translation Rules Design Patterns Frameworks Run Time Libraries Model Translator Source Compiler and linker source code Software Architecture Design Software Architecture Design Application Logic Application Logic ? 3rd Party Packages

©Kabira Technologies Inc, 2001 Interfaces to 3rd Party Packages Language based API’s –Java –C++ –C–C Specification based API’s –Corba –DCOM Interfaces to 3rd party packages are typically defined in one of two basic ways:

©Kabira Technologies Inc, 2001 One Approach Code Generation Interface Definition Model Based Wrapper Native Client Interface to Service Corba-Based Equipment Drivers Generic Equipment Handling Model Based Wrapper Native Client Interface to Service model based interface OOA model

©Kabira Technologies Inc, 2001 Implications Corba-Based Equipment Drivers Generic Equipment Handling Model Based Wrapper Native Client Interface to Service The client deals directly with the level of abstraction presented by the 3rd party package. Good: nothing “between” package and client Bad: may be a conceptual gap between client and service Let’s look at some examples...

©Kabira Technologies Inc, 2001 Corba Client Adapter (a.k.a. Bridge) Code Generation IDL Model Based Wrapper ORB Interface Logic Development Deployment Client “sees” CORBA service as if it were modeled in OOA

©Kabira Technologies Inc, 2001 The Development Process Design Center IDL CCA Component Application model ObjectSwitch Node CCA Engine Client Application Engine Built from application model + CCA component Design Center “wrapping” CCA Component unpack/deploy Step 1. Create CCA Component by “wrapping” IDL Step 2. Use Component + your model to build engine Engine Component CORBA Server CORBA Server

©Kabira Technologies Inc, 2001 Basic Operation Obtain stringified IOR ( strIOR ) Declare and create object of wrapped type, proxy object declare componentName::MyModule::MyInterface mi; create mi values (m_stringifiedIOR:strIOR); If the IDL contained user exceptions, the client can catch them in try…catch blocks. CCA Engine CORBA Server ORB ObjectSwitch Shared Memory

©Kabira Technologies Inc, 2001 Java Client Adapter (a.k.a. Bridge) Development Code Generation Java client routines Model Based Wrapper Java Client Routines Java VM Deployment Client Engine JCA Engine Java application ObjectSwitch The client “sees” the Java service as if it were modeled in OOA.

©Kabira Technologies Inc, 2001 Nothing New Here ©Kabira Technologies Inc, 2001 Basic Operation ObtainstringifiedIOR ( strIOR ) Declare and create object of wrapped type, proxy object declarecomponentName::MyModule::MyInterfacemi; create mi values (m_stringifiedIOR:strIOR); If the IDL contained user exceptions, the client can catch them in try…catch blocks. CCA Engine CORBA Server ORB ObjectSwitch Shared Memory proxy object mi proxy object mi The approach to Java is basically the same as Corba.

©Kabira Technologies Inc, 2001 Another Exchange Standard: XML eXtended Markup Language Specifies structure and contents for a “document” ( DTD/Schema ) Does not specify communication protocol as Corba and Java do. Service Actication HTTP Service XML Service COVAD

©Kabira Technologies Inc, 2001 XSA Adapter (a.k.a. Bridge) The client “sees” the XML document as if it were modeled in OOA. Deployment XSA Engine Protocol Engine ObjectSwitch Client Engine Development Code Generation XML Schema Model Based Wrapper 3rd Party DOM Service import/export documents of defined schema

©Kabira Technologies Inc, 2001 XSA Service Component Each XML Schema you wrap results in a distinct XSA Service component The XSA Service component contains a hierarchy of entities and interfaces that facilitate conversion of data between XML and object attributes The key object in the generated object hierarchy is the “root” object Design Center XML Schema XSA Service component root entity -XMLString exportToXML() setXMLString()

©Kabira Technologies Inc, 2001 The Development Process Design Center XML Schema XSA Service Component Client model ObjectSwitch Node XSA Service Engine XSA client Engine Built from Client model + XSA Service component Design Center “wrapping” XSA Service component unpack/deploy Step 1. Create XSA Component from XML schema Step 2. Use Component + your model to build engine XSA client component

©Kabira Technologies Inc, 2001 Sending an XML Document XSA Engine Protocol Engine ObjectSwitch Client Engine The client engine creates the objects it needs for an XML document from the entities defined in the XSA Service Engine and assigns values as desired. The Client then calls the exportToXML() operation in the root object of the document. An XML string of the document is returned which is then sent out using the protocol engine.

©Kabira Technologies Inc, 2001 Receiving an XML Document XSA Engine Protocol Engine ObjectSwitch Client Engine The client engine acquires an XML document (a string) using the protocol engine. A document root object is created. The setXMLString() operation of the root object of the document is invoked with the XML document as an input. The objects necessary to contain the information in the XML document are created and initialized.

©Kabira Technologies Inc, 2001 One Approach Code Generation Interface Definition Model Based Wrapper Native Client Interface to Service Corba-Based Equipment Drivers Generic Equipment Handling Model Based Wrapper Native Client Interface to Service model based interface OOA model Wrapped non OOA functionality in OOA. Used code/model generation technology. Exposed an OOA interface to existing service functionality. Built up the domain chart as the technology (RD) dictates. Summary: Bridging to 3rd Party Software

©Kabira Technologies Inc, 2001 Supplementary Slides

©Kabira Technologies Inc, 2001 Extinsible CodeGen Architecture Plug In Service Model Repository Import/Export Model Auditor System Builder Model Compiler AL Interpreter Adapter-1 Adapter-N... DC Server DC GUI Client DC CMD Client Core Plug Ins Adapter Plug Ins Persistence Corba SNMP others... Basis for Extensible DC Services Register/List/Search Project Mgmt Property Mgmt Commands/Results Corba ORB Built with ObjectSwitch!