Top Banner
Chapter 5 Middleware
34

Chapter 5 Middleware. Page 2 Middleware Software: in context of smart environment Software to provide services to facilitate –Rapid development –Ease.

Dec 30, 2015

Download

Documents

Allison Rice
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Chapter 5 Middleware. Page 2 Middleware Software: in context of smart environment Software to provide services to facilitate –Rapid development –Ease.

Chapter 5

Middleware

Page 2: Chapter 5 Middleware. Page 2 Middleware Software: in context of smart environment Software to provide services to facilitate –Rapid development –Ease.

Page 2

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

Page 3: Chapter 5 Middleware. Page 2 Middleware Software: in context of smart environment Software to provide services to facilitate –Rapid development –Ease.

Page 3

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

Page 4: Chapter 5 Middleware. Page 2 Middleware Software: in context of smart environment Software to provide services to facilitate –Rapid development –Ease.

Page 4

Overview of Middleware

1. Understanding of Middleware2. Desirable characteristics3. Different forms

– Advantages/disadvantages

4. Technologies5. Standards6. Benefits

* Provide a working knowledge base *

Page 5: Chapter 5 Middleware. Page 2 Middleware Software: in context of smart environment Software to provide services to facilitate –Rapid development –Ease.

Page 5

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?

Page 6: Chapter 5 Middleware. Page 2 Middleware Software: in context of smart environment Software to provide services to facilitate –Rapid development –Ease.

Page 6

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

Page 7: Chapter 5 Middleware. Page 2 Middleware Software: in context of smart environment Software to provide services to facilitate –Rapid development –Ease.

Page 7

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

Page 8: Chapter 5 Middleware. Page 2 Middleware Software: in context of smart environment Software to provide services to facilitate –Rapid development –Ease.

Page 8

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

Page 9: Chapter 5 Middleware. Page 2 Middleware Software: in context of smart environment Software to provide services to facilitate –Rapid development –Ease.

Page 9

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

Page 10: Chapter 5 Middleware. Page 2 Middleware Software: in context of smart environment Software to provide services to facilitate –Rapid development –Ease.

Page 10

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

Page 11: Chapter 5 Middleware. Page 2 Middleware Software: in context of smart environment Software to provide services to facilitate –Rapid development –Ease.

Page 11

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

Page 12: Chapter 5 Middleware. Page 2 Middleware Software: in context of smart environment Software to provide services to facilitate –Rapid development –Ease.

Page 12

Transaction Processing• Disadvantages

– Limited scalability - each client (ATM) adds overhead

– Older - uses low-level languages

• Examples: IBM's CISTP, BEA TUXEDO

Page 13: Chapter 5 Middleware. Page 2 Middleware Software: in context of smart environment Software to provide services to facilitate –Rapid development –Ease.

Page 13

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

Page 14: Chapter 5 Middleware. Page 2 Middleware Software: in context of smart environment Software to provide services to facilitate –Rapid development –Ease.

Page 14

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

Page 15: Chapter 5 Middleware. Page 2 Middleware Software: in context of smart environment Software to provide services to facilitate –Rapid development –Ease.

Page 15

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

Page 16: Chapter 5 Middleware. Page 2 Middleware Software: in context of smart environment Software to provide services to facilitate –Rapid development –Ease.

Page 16

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

Page 17: Chapter 5 Middleware. Page 2 Middleware Software: in context of smart environment Software to provide services to facilitate –Rapid development –Ease.

Page 17

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

Page 18: Chapter 5 Middleware. Page 2 Middleware Software: in context of smart environment Software to provide services to facilitate –Rapid development –Ease.

Page 18

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

Page 19: Chapter 5 Middleware. Page 2 Middleware Software: in context of smart environment Software to provide services to facilitate –Rapid development –Ease.

Page 19

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

Page 20: Chapter 5 Middleware. Page 2 Middleware Software: in context of smart environment Software to provide services to facilitate –Rapid development –Ease.

Page 20

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

Page 21: Chapter 5 Middleware. Page 2 Middleware Software: in context of smart environment Software to provide services to facilitate –Rapid development –Ease.

Page 21

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

Page 22: Chapter 5 Middleware. Page 2 Middleware Software: in context of smart environment Software to provide services to facilitate –Rapid development –Ease.

Page 22

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

Page 23: Chapter 5 Middleware. Page 2 Middleware Software: in context of smart environment Software to provide services to facilitate –Rapid development –Ease.

Page 23

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

Page 24: Chapter 5 Middleware. Page 2 Middleware Software: in context of smart environment Software to provide services to facilitate –Rapid development –Ease.

Page 24

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

Page 25: Chapter 5 Middleware. Page 2 Middleware Software: in context of smart environment Software to provide services to facilitate –Rapid development –Ease.

Page 25

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

Page 26: Chapter 5 Middleware. Page 2 Middleware Software: in context of smart environment Software to provide services to facilitate –Rapid development –Ease.

Page 26

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

Page 27: Chapter 5 Middleware. Page 2 Middleware Software: in context of smart environment Software to provide services to facilitate –Rapid development –Ease.

Page 27

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

Page 28: Chapter 5 Middleware. Page 2 Middleware Software: in context of smart environment Software to provide services to facilitate –Rapid development –Ease.

Page 28

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

Page 29: Chapter 5 Middleware. Page 2 Middleware Software: in context of smart environment Software to provide services to facilitate –Rapid development –Ease.

Page 29

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

Page 30: Chapter 5 Middleware. Page 2 Middleware Software: in context of smart environment Software to provide services to facilitate –Rapid development –Ease.

Page 30

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)

Page 31: Chapter 5 Middleware. Page 2 Middleware Software: in context of smart environment Software to provide services to facilitate –Rapid development –Ease.

Page 31

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.

Page 32: Chapter 5 Middleware. Page 2 Middleware Software: in context of smart environment Software to provide services to facilitate –Rapid development –Ease.

Page 32

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

Page 33: Chapter 5 Middleware. Page 2 Middleware Software: in context of smart environment Software to provide services to facilitate –Rapid development –Ease.

Page 33

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

Page 34: Chapter 5 Middleware. Page 2 Middleware Software: in context of smart environment Software to provide services to facilitate –Rapid development –Ease.

Page 34

Middleware Conclusion

• See 5.6, pg. 119+ for examples• Middleware provides variety of

services• Applicable to Mobile Computing and

Smart Environments