Interoperability and Software Architecture

Interoperability and Software Architecture

ICS 221 Winter 2001 Interoperability & Middleware Interoperability ! The ability of independently-developed Interoperability & Middleware components to interact and cooperate with each other ! The ability of components to exchange data and services David S. Rosenblum ! For example … ICS 221 Winter 2001 American electrical plug European electrical outlet Why Is Interoperability Interoperability and Important? Software Architecture ! Interoperability is becoming a dominant (if not the dominant) challenge for software AA ??BB engineering ! Component-based software engineering ! Connectors ! Increased levels of software reuse ! What kind of connector is needed to allow A to ! Exploiting legacy applications interoperate with B? ! The World Wide Web ! What are its properties? ! Distributed software engineering ! Engineering of distributed software ! Distributed engineering of software The connector must resolve ! Engineering of software for automated distribution and architectural mismatch between A & B deployment Architectural Mismatch Assumptions Leading to (Garlan, Allen, Ockerbloom 1995) Architectural Mismatch (I) ! Architectural mismatch refers to a ! Assumptions about the nature of the mismatch between assumptions made components by different components about the ! substrate on which component is built structure of the system and the nature ! control model ! data model of the environment in which they ! Assumptions about the nature of the operate connectors ! protocols ! data model © 2001 David S. Rosenblum 1 ICS 221 Winter 2001 Interoperability & Middleware Assumptions Leading to Syntactic and Semantic Architectural Mismatch (II) Interoperability ! Assumptions about the global configuration ! Syntactic compatibility only guarantees that ! topology data will pass through a connector properly ! presence of certain components or connectors ! Semantic compatibility is achieved only when components agree on the meaning of the ! absence of certain components or connectors data they exchange ! Assumptions about the system construction ! Example: American & European electricity process ! Example: UNIX pipes ! order in which elements are instantiated ! Syntactic compatibility established by making all ! order in which elements are combined data ASCII ! Semantic compatibility is not universal ! Line-oriented data? Field-oriented lines? Field separators? Approaches to Achieving Interoperability (Shaw) Approaches 1 & 2 1. Change A’s form to B’s form ! Complete rewrite of A or B ! Use standard architecture-specific frameworks ! Component & middleware standards (OLE, ActiveX, COM, DCOM, CORBA, JavaBeans, OpenDoc) ! Client/server builders (e.g., Powerbuilder) ! Class frameworks (MFC) ! UNIX pipes 2. Publish abstraction of A’s form ! Uniform distribution format ! Adobe Acrobat, MIME, Rich Text Format (RTF) ! Open interfaces ! Introspection/reflection ! Views and projections ! This is commonly found in databases form = representation, communication, packaging, semantics Approach 3 Approaches 4 & 5 3. Transform on the fly 4. Negotiate common form ! Data filters ! Modem protocol negotiation ! Convert big-endian to little-endian within communication protocol ! Mediators 5. Make B multilingual ! Encapsulate connection policies in separate integration components (Sullivan and Notkin) ! Parts capable of interacting in different forms ! Provide agents that synthesize information across ! Cross-platform parts heterogeneous data sources (Wiederhold) ! “Fat binaries” ! Scripts and other externally-imposed controls ! Portable UNIX code ! Event-based integration (SoftBench, ToolTalk, Castanet) ! Scripting languages: Tcl, Perl, Javascript ! Multimedia browsers (Mosaic, IE, Netscape) © 2001 David S. Rosenblum 2 ICS 221 Winter 2001 Interoperability & Middleware Approach 6 Approach 7 6. Provide import/export converters 7. Introduce intermediate form ! Standalone conversion tools ! Exchange representations ! Graphic format converters (GIF/JPG/PS/PBM/PCX/TIFF) ! Interface description language (IDL) ! Incoming/outgoing converters ! Standard distribution forms ! Conversion plug-ins (MS Word/WordPerfect, MS Powerpoint/Harvard Graphics) ! RTF, PDF, HTML, external data representation ! Procedure call conversions, Ada “pragma interface” ! Marshaling/unmarshaling of data ! Object serialization/deserialization Approaches 8 & 9 Approach 10 8. Use wrapper 10. Separate B’s essence from its ! Wrappers and filters packaging ! Adapters ! ! CORBA Basic Object Adapter (BOA) Separate decisions about internal ! Adapters and adapter classes in Java and JavaBeans functionality from decisions about ! Web browsers “packaging” or interaction style with rest ! Emulation of system ! WinTel emulators for Mac, SunOS ! Both these decisions are currently made by ! X Windows emulators for WinTel component provider 9. Parallel consistent versions ! Both these decisions must be currently ! Maintain two synchronized versions understood by system integrator ! Must constrain both A & B to match assumptions Example of Separating Distributed Object Technology Packaging from Essence and Middleware ! Component provider provides essence ! An layer of software that resides between ! compute the 200-day moving average of a stock applications and the network in order to price facilitate interoperability of distributed application components ! System integrator provides packaging ! An important enabling technology for ! synchronous procedural invocation interoperability in distributed software ! and/or asynchronous event-based update systems ! and/or ActiveX control ! Marriage of client/server technology with ! and/or CORBA IDL-based stub/skeleton interface object-oriented design and analysis ! … ! The “objects” can be anything from data structures to million-line legacy systems © 2001 David S. Rosenblum 3 ICS 221 Winter 2001 Interoperability & Middleware Middleware and Architecture Current Technology (I) ! CORBA ! Reconciling architectural models with ! COM+/DCOM and their ancestors component interoperability standards and standard design notations ! OpenDoc ! Explicit connectors ! SOM ! Architectural style ! ODP ! Research project: Architectural modeling ! Enterprise JavaBeans in UML ! MOM/Event Messaging Middleware ! Research project: ARABICA and ROBUSTA ! Publish/Subscribe Middleware beanboxes for JavaBeans Middleware and Architecture Middleware-Induced Styles (II) (Di Nitto & Rosenblum 1999) ! Reconciling architectural models with ! The choice of a specific middleware can middleware infrastructures have an impact on the architecture of ! Software engineering principle encourages the software system architects/designers to defer implementation decisions ! and vice versa ! But many design decisions constrain the ! An intuitive example choice of implementation technologies ! A three-tier client/server architecture ! Research project: Architectural support for implemented on top of an event-based middleware-induced styles middleware... Modeling Middleware-Induced Styles in ADLs Findings ! Focus of Paper ! We could not find a consensus on the semantics provided for ADLs ! Language constructs for defining styles ! None of the languages we studied suits our ! Language constructs for creating architectures starting from styles requirements ! Deficiencies in languages’ expressive power ! Why? Most ADL research has ignored ! Issues of implementation conformance ! Restrictions in the semantics ! Mapping to middleware technologies ! An exception is [Dashofy, Medvidovic, Taylor 99] © 2001 David S. Rosenblum 4 ICS 221 Winter 2001 Interoperability & Middleware Interoperability at Implications of Internet Scale Internet Scale on Event Notification ! Huge numbers of hosts and users ! Event interaction becomes too burdensome ! Vast numbers of events for applications to manage on their own ! Heterogeneity ! Increased importance of ! Thus, a separate event notification service is ! Network latency required ! Autonomy ! Resource accounting ! But, event technologies originally designed ! Security for LANs don’t scale ! Mobility SIENA SIENA Event Notification (Carzaniga, Rosenblum, Wolf 2000) Infrastructure Subscribe Interested Interested Interested Notify Interested PartyParty PartyParty Unsubscribe Advertise ObjectObject ofof ! Provides ObjectObject ofof InterestInterest ! Storage of advertisements Publish Interest Interest ! Storage of subscriptions ! Efficient delivery of notifications Unadvertise ! Research challenge: what is an appropriate architecture for this infrastructure? Architectural Advantages of Event-Based Interoperability ! Loose coupling between components ! Publishers need not know identity/location of subscribers ! Subscribers need not know identity/location of publishers ! Scalability ! Load on publishers and subscribers is constant as number of publishers and subscribers grows ! But the load on the pub/sub infrastructure grows … © 2001 David S. Rosenblum 5.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    5 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us