《IT专业英语》课件UNIT12.ppt

上传人(卖家):momomo 文档编号:8223361 上传时间:2025-01-13 格式:PPT 页数:54 大小:814.50KB
下载 相关 举报
《IT专业英语》课件UNIT12.ppt_第1页
第1页 / 共54页
《IT专业英语》课件UNIT12.ppt_第2页
第2页 / 共54页
《IT专业英语》课件UNIT12.ppt_第3页
第3页 / 共54页
《IT专业英语》课件UNIT12.ppt_第4页
第4页 / 共54页
《IT专业英语》课件UNIT12.ppt_第5页
第5页 / 共54页
点击查看更多>>
资源描述

1、UNIT12 Middleware 12-1 Technical Part12-2 Reading Material 12-1 Technical Part12-1-1 DefinitionMiddleware is a class of software technologies designed to help manage the complexity and heterogeneity inherent in distributed systems.It is defined as a layer of software above the operating system but b

2、elow the application program that provides a common programming abstraction across a distributed system,as shown in Figure 12-1.Figure 12-1 Middleware Position in ContextIn doing so,it provides a higher-level building block for programmers than Application Programming Interfaces(APIs)such as sockets

3、 that are provided by the operating system.This significantly reduces the burden on application programmers by relieving them of this kind of tedious and error-prone programming.Middleware is sometimes informally called“plumbing”because it connects parts of a distributed application with data pipes

4、and then passes data between them.12-1-2 IntroductionsMiddleware Layers in ContextThe general role of middleware is to abstract away the details of underlying facilities and platforms,thereby isolating applications from them.Just as networking protocol stacks can be decomposed into multiple layers,s

5、uch as the physical,data-link,network,transport,session,presentation,and application layers,so too can middleware be decomposed into the multiple layers shown in Figure 12-2 Host infrastructure middleware(such as Java Virtual Machines and ACE)provides mechanisms to create reusable event demultiplexi

6、ng,interprocess communication,concurrency,and synchronization objects.Distribution middleware(such as CORBA and Java RMI)defines higher-level distributed programming models.The reusable APIs and objects of these models automate and extend the native OS mechanisms encapsulated by host infrastructure

7、middleware so that applications can invoke operations on target objects without hard-coding dependencies on their location,programming language,OS platform,communication protocols and interconnects,or hardware.Common middleware services(such as directory,transaction,security,and event services)augme

8、nt distribution middleware by defining higher-level domain-independent reusable services that allow application developers to concentrate on programming business logic,without the need to write the“plumbing”code required to develop distributed applications via lower-level middleware directly.Finally

9、,domain-specific middleware services are tailored to the requirements of particular domains,such as telecommunications,e-commerce,health care,process automation,or aerospace.Regardless of which layers of middleware are used,good middleware not only makes applications more reliable by shielding them

10、from unnecessary complexity,but it also can make them more scalable.Figure 12-2 Middleware Layers in ContextClassification of MiddlewareThere are a small number of different kinds of middleware that have been developed.These vary in terms of the programming abstractions they provide and the kinds of

11、 heterogeneity they provide beyond network and hardware.1.Distributed TuplesA distributed relational database offers the abstraction of distributed tuples,and are the most widely deployed kind of middleware today.Its Structured Query Language(SQL)allows programmers to manipulate sets of these tuples

12、(a database)in an English-like language yet with intuitive semantics and rigorous mathematical foundations based on set theory and predicate calculus.Distributed relational databases also offer the abstraction of a transaction.Distributed relational database products typically offer heterogeneity ac

13、ross programming languages,but most do not offer much,if any,heterogeneity across vendor implementations.Transaction Processing Monitors(TPMs)are commonly used for end-to-end resource management of client queries,especially server-side process management and managing multi-database transactions.2.Re

14、mote Procedure CallRemote Procedure Call(RPC).middleware extends the procedure call interface familiar to virtually all programmers to offer the abstraction of being able to invoke a procedure whose body is across a network.RPC systems are usually synchronous,and thus offer no potential for parallel

15、ism without using multiple threads,and they typically have limited exception handling facilities.3.Message-Oriented MiddlewareMessage-Oriented Middleware(MOM)provides the abstraction of a message queue that can be accessed across a network.It is a generalization of the well-known operating system co

16、nstruct:the mailbox.It is very flexible in how it can be conFigured with the topology of programs that deposit and withdraw messages from a given queue.Many MOM products offer queues with persistence,replication,or real-time performance.4.Distributed Object MiddlewareDistributed Object Middleware(DO

17、M)provides the abstraction of an object that is remote yet whose methods can be invoked just like those of an object in the same address space as the caller.Distributed objects make all the software engineering benefits of object-oriented techniques encapsulation,inheritance,and polymorphism availab

18、le to the distributed application developer.The Common Object Request Broker Architecture(CORBA)is a standard for distributed object computing.It is a part of the Object Management Architecture(OMA),developed by the Object Management Group(OMG),and is the broadest distributed object middleware avail

19、able in terms of scope.It encompasses not only CORBAs distributed object abstraction but also other elements of the OMA which address general purpose and vertical market components helpful for distributed application developers.CORBA offers heterogeneity across programming language and vendor implem

20、entations.CORBA(and the OMA)is considered by most experts to be the most advanced kind of middleware commercially available and the most faithful to classical object oriented programming principles.Its standards are publicly available and well defined.DCOM(Microsoft Distributed Component Object Mode

21、l)is a distributed object technology from Microsoft that evolved from its Object Linking and Embedding(OLE)and Component Object Model(COM).DCOMs distributed object abstraction is augmented by other Microsoft technologies,including Microsoft Transaction Server and Active Directory.DCOM provides heter

22、ogeneity across language but not across operating system or tool vendor.COM+is the next-generation DCOM that greatly simplifies the programming of DCOM.SOAP(Simple Object Access Protocol)is a distributed object framework from Microsoft that is based on XML and HyperText Transfer Protocols(HTTP).Its

23、specification is public,and it provides heterogeneity across both language and vendor.Microsofts distributed object framework.NET also has heterogeneity across language and vendor among its stated goals.Java has a facility called Remote Method Invocation(RMI)that is similar to the distributed object

24、 abstraction of CORBA and DCOM.RMI provides heterogeneity across operating system and Java vendor,but not across language.However,supporting only Java allows closer integration with some of its features,which can ease programming and provide greater functionality.Marketplace Convergence of the Conce

25、pts The categories of middleware above are blurred in the marketplace in a number of ways.Starting in the late 1990s,many products began to offer APIs for multiple abstractions,for example distributed objects and message queues,managed in part by a TPM.TPMs in turn often use RPC or MOM as an underly

26、ing transport while adding management and control facilities.Relational database vendors have been breaking the relational model and the strict separation of data and code by many extensions,including RPC-like stored procedures.To complicate matters further,Java is being used to program these stored

27、 procedures.Additionally,some MOM products offer transactions over multiple operations on a message queue.Finally,distributed object systems typically offer event services or channels which are similar to MOM in term of architecture,namely topology and data flow.Middleware and Legacy Systems Middlew

28、are is sometimes called a“glue”technology because it is often used to integrate legacy components.It is essential for migrating mainframe applications that were never designed to interoperate or be networked to service remote requests.Middleware is also very useful for wrapping network devices such

29、as routers and mobile base stations to offer network integrators and maintainers a control API that provides interoperability at the highest level.Distributed object middleware is particularly well-suited for legacy integration,due to its generality(described below).In short,it provides a very high

30、lowest common denominator of interoperability.CORBA,in particular,is typically used for this because it supports the most kinds of heterogeneity and thus allows the legacy components to be used as widely as possible.Programming with Middleware Programmers do not have to learn a new programming langu

31、age to program middleware.Rather,they use an existing one they are familiar with,such as C+or Java.There are three main ways in which middleware can be programmed with existing languages.The first is where the middleware system provides a library of functions to be called to utilize the middleware,d

32、istributed database systems and Linda(Linda is a framework offering a distributed tuple abstraction called Tuple Space(TS).)do this.The second is through an external interface definition language(IDL).In this approach,the IDL file describes the interface to the remote component,and a mapping from th

33、e IDL to the programming language is used for the programmer to code to.The third way is for the language and runtime system to support distribution natively,for example,Javas Remote Method Invocation(RMI).12-1-3 Application Case or ExampleWeb Services The introduction of SOAP spawned a new middlewa

34、re category called Web Services.Web Services define a platform-independent standard based on XML to communicate within distributed systems.Web Services have certain advantages over other technologies:Web Services are platform-independent and language-independent,since they use standard XML languages

35、.This means that my client program can be programmed in C+and running under Windows,while the Web Service is programmed in Java and running under Linux.Most Web Services use HTTP for transmitting messages(such as the service request and response).This is a major advantage if you want to build an Int

36、ernet-scale application,since most of the Internets proxies and firewalls wont mess with HTTP traffic(unlike CORBA,which usually has trouble with firewalls).Here is a client/server application to explain the use of web services.For example,lets suppose I keep a database with up-to-date information a

37、bout weather in the United States,and I want to distribute that information to anyone in the world.To do so,I could publish the weather information through a Web Service that,given a ZIP code,will provide the weather information for that ZIP code.Lets take a look at all the steps involved in a compl

38、ete Web Service invocation(See Figure 12-3).Figure 12-3 steps involved in a complete Web Service invocationAs we said before,a client may have no knowledge of what Web Service it is going to invoke.So,our first step will be to discover a Web Service that meets our requirements.For example,we might b

39、e interested in locating a public Web Service which can give me the weather forecast in US cities.Well do this by contacting a discovery service(which is itself a Web service).The discovery service will reply,telling us what servers can provide us the service we require.We now know the location of a

40、 Web Service,but we have no idea of how to actually invoke it.Sure,we know it can give me the forecast for a US city,but how do we perform the actual service invocation?The method I have to invoke might be called“string getCityForecast(int CityPostalCode)”,but it could also be called“string getUSCit

41、yWeather(string cityName,bool isFarenheit)”.We have to ask the Web Service to describe itself(i.e.tell us how exactly we should invoke it).The Web Service replies in a language called WSDL.We finally know where the Web Service is located and how to invoke it.The invocation itself is done in a langua

42、ge called SOAP.Therefore,we will first send a SOAP request asking for the weather forecast of a certain city.The Web Service will kindly reply with a SOAP response which includes the forecast we asked for,or maybe an error message if our SOAP request was incorrect.12-2 Reading Material 12-2-1 Readin

43、g comprehensionMiddleware OriginsNumerous developments over the history of computing have contributed to modern-day middleware,but its origins can be found in On-Line Transaction Processing(OLTP).In the early 1960s,for example,American Airlines and IBM jointly created the SABRE airline reservation s

44、ystem.This system enabled American to handle their airline reservations on mainframe computers,replacing a system based largely on human agents keeping track of flight reservations on paper index cards,thereby vastly increasing the scalability,reliability,and correctness of their reservation system.

45、Today,the SABRE spin-off is worth more than the airline itself.Though technically not middleware,the original SABRE system provided the foundations for the separation of Transaction Processing(TP)support from both the application and the operating system.IBMs experiences with SABRE and with developi

46、ng other reservation systems with other airlines led them in the late 1960s and early 1970s to create several OLTP systems.One of these was the Airline Control Program(ACP),later renamed to the Transaction Processing Facility(TPF).TPF is an operating system built specifically to manage high volumes

47、of transactions for applications.IBM also produced the Customer Information Control System(CICS)and the Information Management System(IMS),which were generally the first systems known as TP monitors.Because of their exceptional reliability,TPF,CICS,and IMS are still in use today for many mission-cri

48、tical OLTP systems.In the decades that have followed the introduction of these first TP monitors,numerous other successful TP monitors for a variety of different platforms have been developed,including BEAs Tuxedo and Digital Equipment Corporations Application Control and Management System(ACMS).TP

49、monitors generally manage computing resources on behalf of transactional applications,and provide services such as database connection management,load balancing,and process monitoring on their behalf.General-purpose operating systems also manage computing resources for applications,but they do so at

50、 a basic level and usually provide little assistance,if any,for specific styles of applications.TP monitors,on the other hand,are tuned to provide management and services specifically for transactional applications.Many of the application services that modern middleware provides,as well as the resou

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 大学
版权提示 | 免责声明

1,本文(《IT专业英语》课件UNIT12.ppt)为本站会员(momomo)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|