DOC PREVIEW
Toronto ECE 1770 - Middleware Systems Overview and Introduction

This preview shows page 1-2-16-17-18-34-35 out of 35 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 35 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 35 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 35 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 35 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 35 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 35 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 35 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 35 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Middleware Systems Overview and IntroductionMiddlewareMiddleware SystemsDefinition by ExampleWhat & Where is Middleware ?Slide 6Middleware ResearchMiddleware Systems IMiddleware Systems IIMiddleware Systems IIIMiddleware Systems IVThe QuestionsMiddleware in PracticeMiddleware MetaphoricallyCategories of MiddlewareCategories IICategories IIIMiddleware CurriculumCourse ObjectivesWhat’s to Come?Additional Lectures OutlineSmall Digression Our Middleware ResearchThe Research We PursueSlide 24Applications EnabledMicroToPSSMicroToPSS DetailsAspect-oriented Middleware and Enabling Software Product FamiliesCustomizable Middleware Product Families for Embedded Devices et al.Expert Topics & Class ProjectsExpert TopicsExpert Topics ListCourse ProjectsPast ProjectsProject SuggestionsMiddleware Systems Overview and IntroductionHans-Arno JacobsenMiddlewareMiddleware Systems•Middleware systems are comprised of abstractions and services to facilitate the design, development, integration and deployment of distributed applications in heterogeneous networking environments.–remote communication mechanisms (Web services, CORBA, Java RMI, DCOM - i.e. request brokers)–event notification and messaging services (COSS Notifications, Java Messaging Service etc.)–transaction services–naming services (COSS Naming, LDAP)–…Definition by Example•The following constitute middleware systems or middleware platforms–CORBA, DCE, RMI, J2EE (?), Web Services, DCOM, COM+, .Net Remoting, application servers, …–some of these are collections and aggregations of many different services–some are marketing termsWhat & Where is Middleware ?DistributedSystemsMiddlewareSystemsProgrammingLanguagesDatabasesOperating SystemsNetworking• middleware is dispersed among many disciplinesWhat & Where is Middleware ?DistributedSystemsACM PODC, ICDEMiddlewareACM/IFIP/IEEE Middleware Conference,DEBS, DOA, EDOCProgrammingLanguagesDatabasesSIGMOD, VLDB, ICDEOperating SystemsSIGOPSNetworkingSIGCOMM,INFOCOM• mobile computing, software engineering, ….Middleware Research•dispersed among different fields•with different research methodologies •different standards, points of views, and approaches•a Middleware research community is starting to crystallize around conferences such as Middleware, DEBS, DOA, EDOC et al.–Many other conferences have middleware tracks•many existing fields/communities are broadening their scope•“middleware” is still somewhat a trendy or marketing term, but I think it is crystallizing into a separate field - middleware systems.•in the long term we are trying to identify concepts and build a body of knowledge that identifies middleware systems - much like OS - PL - DS ...Middleware Systems I•In a nutshell: –Middleware is about supporting the development of distributed applications in networked environments•This also includes the integration of systems•About making this task easier, more efficient, less error prone•About enabling the infrastructure software for this taskMiddleware Systems II•software technologies to help manage complexity and heterogeneity inherent to the development of distributed systems, distributed applications, and information systems•layer of software above the operating system and the network substrate, but below the application•Higher-level programming abstraction for developing the distributed application•higher than “lower” level abstractions, such as sockets provided by the operating system–a socket is a communication end-point from which data can be read or onto which data can be writtenMiddleware Systems III•aims at reducing the burden of developing distributed application for developer•informally called “plumbing”, i.e., like pipes that connect entities for communication•often called “glue code”, i.e., it glues independent systems together and makes them work together•it masks the heterogeneity programmers of distributed applications have to deal with–network & hardware–operating system & programming language–different middleware platforms–location, access, failure, concurrency, mobility, ...•often also referred to as transparencies, i.e., network transparency, location transparencyMiddleware Systems IV•an operating system is “the software that makes the hardware usable”•similarly, a middleware system makes the distributed system programmable and manageable•bare computer without OS could be programmed, so could the distributed application be developed without middleware•programs could be written in assembly, but higher-level languages are far more productive for this purpose•however, sometimes the assembly-variant is chosen - WHY?The Questions•What are the right programming abstractions for middleware systems?•What protocols do these abstractions require to work as promised?•What, if any, of the underlying systems (networks, hardware, distribution) should be exposed to the application developer?–Views range from •full distribution transparency to •full control and visibility of underlying system to•fewer hybrid approaches achieving both–With each having vast implications on the programming abstractions offeredMiddleware in Practice•Very relevant and wide industry exposure•Subject to market forces and market trends•Subject to marketing jargon•Dominated by standards and de facto standardsMiddleware MetaphoricallyDistributed applicationMiddlewareOperating systemNetworkHost 1Distributed applicationMiddlewareOperating systemHost 2Categories of Middleware•remote invocation mechanisms–e.g., DCOM, CORBA, DCE, Sun RPC, Java RMI, Web Services ...•naming and directory services–e.g., JNDI, LDAP, COSS Naming, DNS, COSS trader, ...•message oriented middleware–e.g., JMS, MQSI, MQSeries, ...•publish/subscribe systems–e.g., JMS, various proprietary systems, COSS NotificationCategories II•(distributed) tuple spaces–(databases) - I do not consider a DBMS a middleware system–LNDA, initially an abstraction for developing parallel programs–inspired InfoSpaces, later JavaSpaces, later JINI•transaction processing system (TP-monitors)–implement transactional applications, e.g.e, ATM example•adapters, wrappers, mediatorsCategories III•choreography and orchestration–Workflow and business process tools (BPEL et al.)–a.k.a. Web service composition•fault tolerance, load balancing, etc.•real-time, embedded, high-performance, safety


View Full Document

Toronto ECE 1770 - Middleware Systems Overview and Introduction

Download Middleware Systems Overview and Introduction
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Middleware Systems Overview and Introduction and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Middleware Systems Overview and Introduction 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?