注冊(cè) | 登錄讀書(shū)好,好讀書(shū),讀好書(shū)!
讀書(shū)網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書(shū)科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件工程及軟件方法學(xué)構(gòu)件化軟件:超越面向?qū)ο缶幊?英文版

構(gòu)件化軟件:超越面向?qū)ο缶幊?英文版

構(gòu)件化軟件:超越面向?qū)ο缶幊?英文版

定 價(jià):¥59.00

作 者: (美)Clemens Szyperski等著
出版社: 電子工業(yè)出版社
叢編項(xiàng): 軟件工程叢書(shū)
標(biāo) 簽: 暫缺

購(gòu)買(mǎi)這本書(shū)可以去


ISBN: 9787505389274 出版時(shí)間: 2003-08-01 包裝: 平裝
開(kāi)本: 24cm 頁(yè)數(shù): 589 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  自從這本經(jīng)典著作的第一版發(fā)行之后,又出現(xiàn)了大量的構(gòu)件化軟件技術(shù)。EJB、J2EE、CORBA3、COM+以及.NET的出現(xiàn),則是超越OOP的構(gòu)建化軟件市場(chǎng)正在成熟的有力證據(jù)。本書(shū)為我們客觀地描述了構(gòu)件的市場(chǎng)前景;提供了對(duì)市場(chǎng)動(dòng)力的獨(dú)特觀察,該動(dòng)力影響著系統(tǒng)的部署;并揭示了深層次的實(shí)際問(wèn)題及解決方案。本書(shū)將幫助軟件開(kāi)發(fā)人員、系統(tǒng)架構(gòu)師、CTO以及系統(tǒng)集成人員理解構(gòu)件軟件內(nèi)部的技術(shù)問(wèn)題市場(chǎng)動(dòng)力。ClemensSzyperski:瑞士Oberon微系統(tǒng)公司的創(chuàng)始人之一,并參與了BlackBox構(gòu)件構(gòu)造器的研制。他是工業(yè)界與學(xué)術(shù)界活躍的演講者,還參與了多個(gè)國(guó)家的國(guó)家研究基金的評(píng)審工作。Szyperski教授發(fā)表了許多學(xué)術(shù)文章并撰寫(xiě)了若干部著作。本書(shū)全面介紹了軟件構(gòu)件技術(shù)涉及的問(wèn)題。作者以構(gòu)件與市場(chǎng)的關(guān)系作為入口,逐步轉(zhuǎn)入對(duì)構(gòu)件、接口、對(duì)象、模式、框架、體系結(jié)構(gòu)等基本概念與知識(shí)的討論。書(shū)中結(jié)合OMG、Sun和Microsoft的解決方案,介紹了構(gòu)件模型與構(gòu)件平臺(tái);接著在此基礎(chǔ)之上,討論了構(gòu)件體系結(jié)構(gòu),以及構(gòu)件的發(fā)布、獲取、組裝等與開(kāi)發(fā)過(guò)程相關(guān)的問(wèn)題。最后,本書(shū)簡(jiǎn)介了構(gòu)件軟件技術(shù)的市場(chǎng)前景。全書(shū)覆蓋面廣,內(nèi)容豐富,語(yǔ)言簡(jiǎn)練,并從不同的角度進(jìn)行了分析、預(yù)測(cè),是一本優(yōu)秀的軟件技術(shù)參考書(shū)。本書(shū)適合于從事軟件設(shè)計(jì)開(kāi)發(fā)的軟件開(kāi)發(fā)人員、系統(tǒng)架構(gòu)師、CTO、系統(tǒng)集成人員等。

作者簡(jiǎn)介

  ClemensSzyperski:瑞士Oberon微系統(tǒng)公司的創(chuàng)始人之一,并參與了BlackBox構(gòu)件構(gòu)造器的研制。他是工業(yè)界與學(xué)術(shù)界活躍的演講者,還參與了多個(gè)國(guó)家的國(guó)家研究基金的評(píng)審工作。Szyperski教授發(fā)表了許多學(xué)術(shù)文章并撰寫(xiě)了若干部著作。

圖書(shū)目錄

PART ONE    Motivation - components and markets                  
 1  Introduction                  
      1.1  Components are for composition                  
      1.2  Components - custom-made versus standard software                  
      1.3  Inevitability of components                  
      1.4  The nature of software and deployable entities                  
      1.5  Components are units of deployment                  
      1.6  Lessons learned                  
 2  Market versus technology                  
      2.1  Creating a market                  
      2.2  Fundamental properties of component technology                  
      2.3  Market development                  
             2.3.1  Strategic Focus (January 1995)                  
             2.3.2  Ovum (1995)                  
             2.3.3  IDC (May 1996)                  
             2.3.4  Forrester Research (October 1996)                  
             2.3.5  IDC (Apdl 1999)                  
             2.3.6  ComponentSource (2001)                  
             2.3.7  Rashline (2001)                  
      Standards                  
      3.1  The utmost importance of (quasi) standards                  
      3.2  Wiring standards are not enough                  
      3.3  Too many competing standards are not useful                  
      3.4  Where is software component technology today?                  
      3.5  What's next?                  
         TWO    Foundation                  
 4  What a component is and is not                  
       4.1  Terms and concepts                  
               4.1.1  Components                  
               4.1.2  Objects                  
               4.1.3  Components and objects                  
               4.1.4  Modules                  
               4.1.5  Whitebox versus blackbox abstractions and reuse                  
               4.1.6  Interfaces                  
               4.1.7  Explicit context dependencies                  
               4.1.8  Component "weight"                  
       4.2  Standardization and normalization                  
               4.2.1  Horizontal versus vertical markets                  
               4.2.2  Standard component worlds and normalization                  
 5  Components, Interfaces, and re-entrance                  
       5.1  Components and interfaces                  
               5.1.1  Direct and indirect' interfaces                  
               5.1.2  Versions                  
               5.1.3  Interfaces as contracts                  
               5.1.4  Contracts and extra-functional requirements                  
               5.1.5  Undocumented "features"                  
       5.2  What belongs to a contract.?                  
               5.2.1  Safety and progress                  
               5.2.2  Extra-functional requirements                  
               5.2.3  Specifying time and space requirements                  
       5.3  Dress code - formal or informal?                  
       5.4  Callbacks and contracts                  
       5.5  Examples of callbacks and contracts                  
               5.5.1  A directory service                  
               5.5.2  A client of the directory service                  
               5.5.3  Same client, next release                  
               5.5.4  A broken contract                  
               5.5.5  Prevention is better than cure                  
               5.5.6  Proofing the directory service                  
               5.5.7  Test functions in action                  
       5.6  From callbacks to objects                  
       5.7  From interobject consistency to object re-entrance                  
       5.8  Self-interference and object re-entrance: a summary                  
       5.9  Processes and multithreading                  
       5.10 Histories                  
       5.11 Specification statements                  
 6  Polymorphlsm                  
       6.1  Substitutability - using one for another                  
       6.2  Types, subtypes, and type checking                  
 6.3 More on subtypes                  
 6.4 Object languages and types     6.5  Typos, interfaces, and components                  
      6.6  The paradigm of independent extensibility                  
      6.7  Safety by construction - viability of components                  
              6.7.1  Module safety                  
              6.7.2  Module safety and metaprogramming                  
              6.7.3  Safety in a multilanguage environment                  
      6.8  Safety, security, trust                  
      6.9  Dimensions of independent extensibility                  
              6.9.1  Bottleneck inte#aces                  
              6.9.2  Singleton configurations                  
              6.9.3  Parallel, orthogonal, and recursive extensions                  
       6.10 Evolution versus immutability of interfaces and contracts                  
               6.10.1 Syntactic versus semantic contract changes                  
               6.10.2 Contract expiry                  
               6.10.3 Overriding law                  
       6.11 Other forms of polymorphism                  
 7  Object versus class composition or how to avoid Inheritance                  
       7.1  Inheritance - the soup of the day?                  
       7.2  More flavors to the soup                  
               7.2.1  Multiple inheritance                  
               7.2.2  Mixins                  
       7.3  Back to basic ingredients                  
       7.4  The fragile base class problem                  
               7.4.1  The syntactic fragile base class problem                  
               7.4.2  The semantic fragile base class problem                  
       7.5  Inheritance - more knots than meet the eye                  
       7.6  Approaches to disciplined inheritance                  
               7.6.1  The specialization interface                  
               7.6.2  Typing the specialization interface                  
               7.6.3  Behavioral specification of the specialization interface                  
               7.6.4  Reuse and cooperation contracts                  
               7.6.5  Representation invariants and method refinements                  
               7.6.6  Disciplined inheritance to avoid fragile base class problems                  
               7.6.7  Creating correct subclasses without seeing suporclass code                  
       7.7  From class to object composition                  
       7.8  Forwarding versus delegation (or making object composition as problematical                  
               as implementation inheritance)                  
       7.9  A brief review of delegation and inheritance                  
 8  Aspects of scale and granularity                  
       8.1  Units of abstraction                  
       8.2  Units of accounting                  
       8.3  Units of analysis                  
       8.4  Units of compilation                  
       8.5  Units of delivery                  
       8.6  Units of deployment                  
       8.7  Units of dispute                  
       8.8  Units of extension                  
      8.9  Units of fault containment                  
      8.10 Units of instantietion                  
      8.11 Units of installation                  
      8.12 Units of loading                  
      8.13 Units of locality                  
      8.14 Units of maintenance                  
      8.15 Units of system management                  
      8.16 Summery                  
 9  Patterns, frameworks, architectures                  
      9.1  Forms of design-level reuse                  
             9.1.1  Sharing consistency - programming languages                  
             9.1.2  Sharing concrete solution fragments - Ilibraries                  
             9.1.3  Sharing individual contracts - interfaces                  
             9.1.4  Sharing individual interaction fragments - messages and protocols                  
             9.1.5  Sharing individual interaction architecture - pattams                  
             9.1.6  Sharing architecture - frameworks                  
             9.1.7  Sharing overall structure - system amhitecture                  
             9.1.8  Systems of subsystems - framework hierarchies                  
      9.2  Intereperability, legacies, and re-engineering                  
 10 Programming - shades of gray                  
      l0.1 Different progremming methods for different programmers                  
      10.2 Programming to a system                  
      10.3 Connection-oriented programming                  
      10.4 Connection-oriented programming- advanced concepts                  
      10.5 Events and messages                  
             10.5.1 Message syntax and schema - XML                  
             10.5.2  Events versus calls                  
             10.5.3 Call syntax and protocol - SOAP                  
      10.6. Ordering of events - causality, races, and glitches                  
      10.7 Very late binding - dispatch interfaces and metapregramming                  
      10.8 Degrees of freedom - sandboxing versus static safety                  
      10.9 Recording versus scripting                  
 11 What others say                  
      11.1 Grady Booch (1987)                  
      11.2 Oscar Nierstrasz and Dennis Tsichritzis (1992 and 1995)                  
      11.3 Glo Wiederhold, Peter Wegner, and Stefano Ceri (1992)                  
      11.4 Ivar Jacobson (1993)                  
      11.5 Meta Group (1994)                  
      11.6 Jed Harris (1995)                  
      11.7 Ovum Report on Distributed Objects (1995)                  
      11.8 Robert Orfali, Dan Harkey, and Jeri Edwards (1995, 1996)                  
      11.9 Johannes Sametinger (1997)                  
      11.10 UML 1.3 Standard (1999)                  
      11.11 Desmond D'Souza and Alan Wills (1999)                  
      11.12 Krzysztof Czamecki and Ulrich Eisenecker (2000)                  
      11.13 Peter Herzum and Oliver Sims (2000)                  
      11.14 CBSE Handbook (2001)                  
 PART THREE  Component models and platforms                  
 12 Object and component "wiring" standards                  
       12.1 Where it all came from                  
       12.2 From procedures to objects                  
       12.3 The fine print                  
               12.3.1 Specification of interfaces and object references                  
               12.3.2 Interface relationships and polymorphism                  
               12.3.3 Naming and locating services                  
               12.3.4 Compound documents                  
       12.4 On the wire - the rise of XML                  
               12.4.1 XML, XML Namespaces, XML Schema                  
               12.4.2 XML support standards                  
               12.4.3 XML document object and streaming models                  
               12.4.4 SOAP                  
               12.4.5 XML web services: WSDL, UDDI, WSFL, XLANG                  
               12.4.6 Web services and programming models                  
       12.5 Which way?                  
 13 The OMG way: CORBA, CCM, OMA, and MDA                  
       13.1 At the heart - the object request broker                  
               13.1.1 From CORBA to OMA                  
               13.1.2 CORBA timeline                  
               13.1.3 A bit of history - system object model (SOM)                  
       13.2 Common object service specifications (CORBAsewices)                  
               13.2.1 Services supporting enterprise distributed computing                  
               13.2.2 Services supporting architecture using fine-grained objects                  
       13.3 CORBA Component Model                  
               13.3.1 Portable object adapter                  
               13.3.2 CCM components                  
               13.3.3 CCM containers                  
       13.4 CORBA-compliant implementations                  
               13.4.1 BEA's WebLogic                  
               13.4.2 IBM's WebSphere                  
               13.4.3 IONA's Orbix E2A Application Server Platform                  
               13.4.4 Borland's Enterprise Sewer                  
               13.4.5 Non-for-profit implementations                  
       13.5 CORBAfacilities                  
       13.6 Application objects                  
       13.7 CORBA, UML, XML, and* MDA                  
               13.7.1 Meta-object facility                  
               13.7.2 Model-driven architecture (MDA)                  
 14 The Sun way - Java, JavaBeans, EJB, and Java 2 editions                  
       14.1 Overview and history of Java component technologies                  
               14.1.1 Java versus Java 2                  
               14.1.2 Runtime environment and reference implementations                  
                14.1.3 Spectrum of editions - Micro, Standard, and Enterprise                  
       14.2 Java, the language                  
                14.2.1 Interfaces versus classes                  
                14.2.2 Exceptions and exception handling                  
                14.2.3 Threads and synchronization                  
                14.2.4 Garbage collection                  
        14.3 JavaBeans                  
                14.3.1 Events and connections                  
                14.3.2 Properties                  
                14.3.3 Introspection                  
                14.3.4 JAR files - packaging of Java components                  
       14.4 Basic Java services                  
               14.4.1 Reflection                  
               14.4.2 Object serialization                  
               14.4.3 Java native interface                  
               14.4.4 Java AWT and JFC/Swing                  
               14.4.5 Advanced JavaBeans specifications                  
       14.5 Component variety - applets, servlets, beans, and Enterprise beans                  
               14.5.1 Java server pages (JSP) and servlets                  
               14.5.2 Contextual composition - Enterprise JavaBeans (EIB)                  
               14.5.3 Data-driven composition - message-driven beans in EIB 2.0                  
       14.6 Advanced Java sewices                  
               14.6.1 Distributed object model and RMI                  
               14.6.2 Java and CORBA                  
               14.6.3 Enterprise service interfaces                  
               14.6.4 Java and XML                  
       14.7 Interfaces versus classes in Java, revisited                  
       14.8 JXTA and Jini                  
               14.8.1 Jini - federations of Java objects                  
               14.8.2 JXTA - peer-to-beer computing                  
       14.9 Java and web services - SunONE                  
 15 The Microsoft way: COM, OLE/ActiveX, COM+, and .NET CLR                  
       15.1 The first fundamental wiring model - COM                  
       15.2 COM object reose                  
       15.3 Interfaces and polymorphism                  
               15.3.1 Categories                  
              15.3.2 Interfaces and varsioning                  
      15.4 COM object creation and the COM library                  
      15.5 Initializing objects, persistence, structured storage, monikers                  
      15.6 From COM to distributed COM (OCOM)                  
      15.7 Meta-information and automation                  
      15.8 Other COM services                  
              15.8.1 Uniform data transfer                  
              15.8.2 Dispatch interfaces (dispinterfaces) and dual interfaces                  
              15.8.3 Outgoing interfaces and connectable objects                  
      15.9 Compound documents and OLE                  
              15.9.1 0LE containers and servers                  
              15.9.2 Controls - from Visual Basic via OLE to ActiveX                  
      15.10 Contextual composition and services                  
              15.10.1 C0M apartments - threading and synchronization                  
              15.10.2 Microsoft transaction server - contexts and activation                  
              15.10.3 COM+ - generalized contexts and data-driven composition                  
       15.11 Take two - the .NET Framework                  
               15.11.1The .NET big picture                  
               15.11.2common language infrastructure                  
               15,11.3COM and platform interoperation                  
               15.11.4 Exemplary .NET language - Ce                  
               15.11.5Visual Studio ,NET                  
       15.12 Assemblies - the .NET components                  
       15.13 Common language frameworks                  
               15.13.1  AppDomains, contexts, reflection, remoting                  
               15,13.2  Windows Forms, data, management                  
               15.13.3  Web Forms, Active Server Pages (ASP) .NET                  
               15.13.4  XML and data                  
               15.13.5  Enterprise services                  
               15.13.6  Web services with .NET                  
 16 Some further technologies                  
       16.1 Computer Associates' Advantage Plex                  
       16.2 Hitachi Appgallery                  
       16.3 Groove Transceiver                  
 17 Strategic comparison                  
       17.1 Shared attributes                  
       17.2 Differences                  
       17.3 Consequences for infrastructure vendors                  
       17.4 Consequences for component vendors                  
 18 Efforts on domain standards                  
       18.1  0MG Domain Technology Committee                  
               18.1.10MG BODTF                  
       18.2 W3C                  
       18.3 Business processes and documents                  
               18.3.1 OASIS and ebXML                  
               18.3.2 RosettaNet and PIPs                  
               18.3.3 BizTalk.org                  
       18.4 DMTF's CIM and WBEM                  
       18.5 Java domain standard efforts                  
       18.6 0LE for process control                  
       18.7 Industry associations                  
               18.7.1 Information technology, industry groupings                  
               18.7.2 Trade associations                  
               18.7.3 User associations                  
 19 Ongoing concerns                  
       19.1 Domain standards                  
       19.2 Rethinking the foundations of software engineering                  
       19.3 But is it object-oriented?                  
       19.4 Object mobility and mobile agents                  
       19.5 Foundations - better contracts for better components                  
 PART FOUR   Components meet architecture and process                  
 20 Component architecture                  
       20.1 The roles of an architecture                  
       20.2 Conceptualization - beyond objects?                  
       20.3 Definitions of key terms                  
       20.4 A tiered component architecture                  
       20.5 Components and middieware                  
       20.6 Components versus generative programming                  
 21 Component frameworks                  
       21.1 Contributions of contextual component frameworks                  
               21.1.1 Foundation and roots                  
               21.1.2 Component frameworks versus connectors                  
               21.1.3 Component frameworks versus metaprogramming                  
               21.1.4 Component frameworks versus aspect-oriented programming                  
       21.2 Frameworks for contextual composition                  
               21.2.1 COM+ contexts                  
               21.2.2 EJB containers                  
               21.2.3 CCM containers                  
               21.2.4 CLR contexts and channels                  
               21.2.5 Tuple and object spaces                  
       21.3 BlackBox component framework                  
               21.3.1 Career-rider-mapper design pattern                  
               21.3.2 Directory objects                  
               21.3.3 Hierarchical model view separation                  
               21.3.4 Container modes                  
               21.3.5 Cascaded message multicasting services                  
               21.3.6 Advanced applications based on compound documents                  
       21.4 BlackBox and.OLE                  
       21.5 Portos - a hard realtime component framework and its IDE                  
               21.5.1 Structure of Portos                  
               21.5.2 Realtime scheduler                  
               21.5.3 Cross-development environment                  
 22 Component development                  
       22.1 The methodology - component-oriented programming                  
              22.1.1 Problems of asynchrony                  
              22.1.2 Multithreading                  
              22.1.3 Learning from circuit design                  
              22.1.4 Living without implementation inheritance                  
              22.1.5 Nutshell classes                  
              22.1.6 Language support                  
              22.1.7 Dynamic bas, objects with forwarding semantics                  
              22.1.8 Caller encapsulation                  
       22.2 The environment - selecting target frameworks                  
       22.3 The tools - selecting programming languages                  
 23 Component distribution and acquisition                  
      23.1 Building what sells - applications not components?                  
      23.2 Product cataloging and description                  
      23.3 Component location and selection                  
      23.4 Superdistribution                  
      23.5 Intermediaries                  
 24 Component assembly                  
      24.1 Systematic initialization and wiring                  
      24.2 Visual component assembly                  
      24.3 Compound documents to supersede visual assembly                  
      24.4 Components beyond graphical user interface environments                  
      24.5 Managed and "self-guided" component assembly                  
      24.6 End-user assembly                  
      24.7 Component evolution                  
 25 On the horlzon                  
      25.1 Advanced object composition                  
             25.1.1 Delegation-                  
             25.1.2 Split objects                  
             25.1.3 Environmental acquisition                  
             25.1.4 Dynamic inheritance                  
      25.2 New forms of object and component abstraction                  
             25.2.1 Subject-oriented programming                  
             25.2.2 Aspect-oriented programming                  
             25.2.3 XML components                  
       nye    Markets and components                  
 26 Gamut of markets                  
      26.1 Components                  
      26.2 Component platforms and infrastructure                  
      26.3 Tools                  
             26.3.1 Component design and implementation tools                  
             26.3.2 Component testing tools                  
             26.3.3 Component assembly tools                  
             26.3.4 Component system diagnosis and maintenance                  
      26.4 Professional services                  
             26.4.1 Component system and framework architects                  
             26.4.2 Component assembly consultants                  
             26.4.3 Component configuration management                  
             26.4.4 Component warehouses, marketing, and consulting                  
             26.4.5 Component operators, web services, application service providers                  
 27 New professions                  
      27.1 Component system architect                  
      27.2 Component framework architect                  
      27.3 Component developer                  
      27.4 Component assembler                  
 28 A component marketing paradox                  
      28.1 Branding                  
      28.2 Pay per use                  
      28.3 Co-placement of advertisements                  
      28.4 Leveraging on newly created markets                  
      28.5 Leverage of integrative forces                  
 Epilogue                  
 Appendix A Java versus C# versus Component Pascal                  
      Useful addresses and bibliography                  
      Glossary                  
      Index                  

本目錄推薦

掃描二維碼
Copyright ? 讀書(shū)網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)