Chapter 5
This presentation is the property of its rightful owner.
Sponsored Links
1 / 34

Chapter 5 PowerPoint PPT Presentation


  • 114 Views
  • Uploaded on
  • Presentation posted in: General

Chapter 5. Middleware. Middleware. Software: in context of smart environment Software to provide services to facilitate Rapid development Ease of integration Improved reliability Increased scalability Lies between applications software & platform

Download Presentation

Chapter 5

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Chapter 5

Chapter 5

Middleware


Middleware

Middleware

  • Software: in context of smart environment

  • Software to provide services to facilitate

    • Rapid development

    • Ease of integration

    • Improved reliability

    • Increased scalability

  • Lies between applications software & platform

  • Connectivity software that joins applications thru communication mechanisms creating transparency, scalability, & interoperability


Middleware1

Middleware

  • Defined by API it provides to applications that use it & by protocols it supports

  • Should reduce complexities

    • Of networks, OS, applications

  • Should provide cross-platform infrastructure

  • Should improve the system


Overview of middleware

Overview of Middleware

  • Understanding of Middleware

  • Desirable characteristics

  • Different forms

    • Advantages/disadvantages

  • Technologies

  • Standards

  • Benefits

    * Provide a working knowledge base *


Perceive reason act ai approach

Perceive-Reason-Act AI Approach

  • Use to define characteristics of Middleware

  • Perceive: sensors

    • Software to read, store, calibrate, etc.

  • Reason: AI applications

    • Software to reason about the environment & provide actions

  • Act: controllers

    • To change environment

      See Figure 5.1, pg. 104

      What are the communications requirements?


Needs of system figure 5 1

Needs of System(Figure 5.1)

  • Interoperability: 2+ entities communicate

  • Reliability: guarantee delivery

  • Efficiency: minimize consumption & delivery time

  • Throughput: lots of data, no bottlenecks

  • Distributed network: applications not on single computer


Wants of system

Wants of System

  • Provide for future extensions & contingencies

  • Scalable

  • Hot - swappable - don't shut down to change component or application

  • Secure

  • Highly available - running, accessible

  • Fault - tolerant


Desirable characteristics of system

Desirable Characteristics of System

  • Simplicity and power: for developers & for API

  • Natural & seamless extension of development environment: for implementer - so focus stays on application

  • Flexibility for easy modifications of software - separation of interface from applications

  • Maintainability

  • Reusability

  • Portability


Middleware architecture

Middleware Architecture

  • Communication is the focus

  • Client - server model (Figure 5.3, pg. 107)

    • 3-tier for much Middleware

    • Middle tier addition

      • Increase in number of clients

      • Better flexibility, maintainability, reusability, scalability


Forms of middleware

Forms of Middleware

  • Middleware sits between OS & application

  • Huge number of products

  • Vary in "form"

    • Role, terminology, composition

  • Overview of key forms

    • Transaction -- Object

    • RPC -- Agent

    • Message -- Database

    • Web


Transaction processing

Transaction Processing

  • Middle tier of processing routines between system that provides transaction-based services & clients

    • e.g.: ATM - deposit, withdraw, check balance

    • See Figure 5.4, pg. 109

  • Advantages

    • Independence of layers, database

    • Easily customized on all components

    • Transparency

    • Mature & well-tested efficient, reliable


Transaction processing1

Transaction Processing

  • Disadvantages

    • Limited scalability - each client (ATM) adds overhead

    • Older - uses low-level languages

  • Examples: IBM's CISTP, BEA TUXEDO


Message oriented mom

Message-Oriented (MOM)

  • Provides communication between applications on one or more machines; different platforms (Figure 5.5, pg. 109)

  • Generally asynchronous

  • Message queuing, persistence (delays), delivery

  • Peer-to-peer connectivity; agreed upon protocols


Message oriented mom1

Message-Oriented (MOM)

  • Advantages

    • Simplifies cross-platform issues; portability

    • Increased operability, flexibility

    • Good for event-driven systems

    • Mature (1980's)

  • Disadvantages

    • Asynchronous allows for network overload

    • Not implemented for some platforms

  • Example: Oracle, Advanced Queuing, Arjuna Messaging, IBM MQ Series, MS MSMQ


Object oriented aka object oriented brokers orb

Object-Orientedaka Object-Oriented Brokers (ORB)

  • Transparent extensions of object-oriented development environment,

    • Figure 5.6, pg. 110

  • Support: interface definition language, O communication mechanisms, O activation/location mechanisms

  • Facilitate: locating objects & establishing communication - similar to MOM


Object oriented aka object oriented brokers orb1

Object-Orientedaka Object-Oriented Brokers (ORB)

  • Advantages - Same as MOM

    • Familiarity with object-oriented environment

    • Provide for rapid integration

    • Preserves separation between implementation & interface

  • Disadvantages

    • Different ORB's support different levels of service, platforms, certain object-oriented languages

    • May be difficult to find one that supports all needs

  • Examples: OMG's CORBA, MS COM/DCOM, Sun's JAVA RMI


Database

Database

  • Can be complex

  • Need API access to standard database interfaces

  • Development connectivity tools & language extensions to facilitate applications to database

  • Advantages

    • Standardization, simple

  • Disadvantages

    • Not always cross platform

    • May not support advanced database features

    • May provide blocking, synchronous connections


Remote procedure call rpc

Remote Procedure Call (RPC)

  • Stubs embedded in client-server applications at compile, facilitate calls between client-server (Figure 5.7, pg. 111)

  • Advantages

    • Provide consistency of procedure calls locally & remotely

    • Network transparency of client-server location

  • Disadvantages

    • Most are synchronous - forces call-wait scenario, possible blockages

    • Asynchronous mechanisms add complexity to development

    • Synchronous - not good for object-oriented or peer-to-peer

  • Example: Open Group's Dist. Computing Environment


Web services

Web Services

  • Popular - bridge interface gap between application hidden by network security (e.g. firewalls)

  • Leverages WWW technologies & protocols (Figure 5.8, pg. 112)

    • XML interface

    • HTTP communications

  • New technologies

    • SOAP - Simple Object Access Protocol

    • WSDL - Web Services Definition Language


Web services1

Web Services

  • Advantages

    • Ubiquitous nature of web servers/API's

    • Available software to facilitate development

    • ASCII-based messages improve troubleshooting

    • Most corporate systems allow such traffic

    • Easy transition


Web services2

Web Services

  • Disadvantages

    • Potential security holes (HTTP)

    • Conversion of data structures to SML is computationally expensive; data structure is larger

      • Slower

      • Needs more bandwidth

  • Examples: Apple's Web Objects, IBM Websphere, MS.NET, Sun's Open Net Environment


Agent oriented

Agent-Oriented

  • Applications: financial management, military logistics, personal information management

  • Newest: Intelligent software agents

  • Autonomous, intelligent software entities with ability to perceive environment, reason, act (to accomplish goals)

  • Tend to be implemented as frameworks


Agent oriented1

Agent-Oriented

  • Provide for

    • Interagent communication

    • Load balancing

    • Mobility (move agents between machines)

  • May include MOM or Object-Oriented Middleware

  • Examples: HIVE, CMU's RETSINA


Frameworks

Frameworks

  • Similar to but different from Middleware

  • Targeted at specific domain

  • Provide API, user interface, tools for development & management

  • May provide own middleware services or utilize common ones

  • Examples: Lotus Notes, MS Office, Transarc's Encina, Cognos, HP's OpenView


Frameworks comments

Frameworks - Comments

  • Framework vs. Middleware: not standard, debated

  • Author distinguishes:

    • Middleware: invisible, no interface

    • Framework - provides interfaces

  • Ubicomp - ubiquitous computing

    • Numerous initiatives

    • e.g., Universal plug-and-play


Middleware standards

Middleware Standards

  • Help with functionality, interoperability among implementers

  • Consortiums (IEEE) - compromise, voluntary

  • Corporations - de facto standards; market share, influence

  • e.g., IBM PC; MS Windows


Standards examples

Standards - Examples

  • COM/DCOM - MS - de facto

    • Distributed Component Object Model

    • Communication protocol between objects

    • IDL - Interface Description Language

  • CORBA - Object Management Group - consortium

    • Common Object Request Broker Architecture

    • Powerful, Widely-used

    • Uses IDL-to-program language mapping for many object-oriented language; generate skeleton & stub code


Standards examples1

Standards - Examples

  • DCE - Open Group

    • Distributed Computing Environment

    • Popular, forms basis of many middleware layers

    • Set of integrated system service specs.; OS, platform, network independent

    • Provide: RPC, distributed file system, diskless workstation support


Java middleware technologies sun

Java Middleware Technologies - Sun

Numerous middleware initiatives & support

  • Supports CORBA

  • J. Remote Method Invocation (RMI) - CORBA like

  • J. Message Service (JMS) - provides MOM

  • J. Web Services Developer Pack (WSDP) - to integrate webservices into J. applications

  • J. Servlet & J. Server Pages (JSP) - extend server functionality, dynamic content support

  • J. Jini - adaptive network-centric applications

  • Disadvantage: One source, one language


Web service standards

Web Service Standards

World Wide Web Consortium (WSC) - a leader

  • HTML, HTTP, SML, SOAP/SMLP, WSDL, others

    Organization for Advancement of Structured Information Standards (OASIS)

  • DocBook (documentation), DSML (directory services), ebXML (eBusiness), SAML (security assertion), UDDI (universal description, discover, & integration of web services)


Database standards

Database Standards

  • SQL (Structured Query Language) - Oracle

    • Based on IBM's SEQUEL of 1970's

    • de facto standard

    • Are non-standard extensions

  • ODBC - Open Database Connectivity - MS

    • middleware database driver: database - applications communication

    • Vendors: ODBC-compliant database

    • Sun's JDBC for Javas is ODBC - comp.


Middleware design considerations

Middleware Design Considerations

  • Complement project, easier to design, develop, & maintain

  • Interoperability, reliability, efficiency throughput

  • Secure, dynamic, adaptable, scalable, available, fault-tolerant

  • Flexible, portable, maintainable, reusable


Middleware issues

Middleware Issues

  • May add unwanted infrastructure to project

  • Risky when using proprietary middleware (if sole source)

  • Extensions: Open Source vs. Proprietary

  • Middleware defined by API & protocols

    • Be wary of proprietary extensions

  • Shift from OS/Platform dependence to middleware dependence

    • Projects look to middleware for services


Middleware conclusion

Middleware Conclusion

  • See 5.6, pg. 119+ for examples

  • Middleware provides variety of services

  • Applicable to Mobile Computing and Smart Environments


  • Login