ImageVerifierCode 换一换
格式:PPT , 页数:54 ,大小:814.50KB ,
文档编号:8223361      下载积分:15 文币
快捷下载
登录下载
邮箱/手机:
温馨提示:
系统将以此处填写的邮箱或者手机号生成账号和密码,方便再次下载。 如填写123,账号和密码都是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

优惠套餐
 

温馨提示:若手机下载失败,请复制以下地址【https://www.163wenku.com/d-8223361.html】到电脑浏览器->登陆(账号密码均为手机号或邮箱;不要扫码登陆)->重新下载(不再收费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  
下载须知

1: 试题类文档的标题没说有答案,则无答案;主观题也可能无答案。PPT的音视频可能无法播放。 请谨慎下单,一旦售出,概不退换。
2: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
3: 本文为用户(momomo)主动上传,所有收益归该用户。163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

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

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

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

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

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


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