Update cookies preferences

E-book: Mashups: Concepts, Models and Architectures

  • Format - PDF+DRM
  • Price: 55,56 €*
  • * the price is final i.e. no additional discount will apply
  • Add to basket
  • Add to Wishlist
  • This ebook is for personal use only. E-Books are non-refundable.

DRM restrictions

  • Copying (copy/paste):

    not allowed

  • Printing:

    not allowed

  • Usage:

    Digital Rights Management (DRM)
    The publisher has supplied this book in encrypted form, which means that you need to install free software in order to unlock and read it.  To read this e-book you have to create Adobe ID More info here. Ebook can be read and downloaded up to 6 devices (single user with the same Adobe ID).

    Required software
    To read this ebook on a mobile device (phone or tablet) you'll need to install this free app: PocketBook Reader (iOS / Android)

    To download and read this eBook on a PC or Mac you need Adobe Digital Editions (This is a free app specially developed for eBooks. It's not the same as Adobe Reader, which you probably already have on your computer.)

    You can't read this ebook with Amazon Kindle

Mashups have emerged as an innovative software trend that re-interprets existing Web building blocks and leverages the composition of individual components in novel, value-adding ways. Additional appeal also derives from their potential to turn non-programmers into developers.

Daniel and Matera have written the first comprehensive reference work for mashups. They systematically cover the main concepts and techniques underlying mashup design and development, the synergies among the models involved at different levels of abstraction and the way models materialize into composition paradigms and architectures of corresponding development tools. The book deliberately takes a balanced approach, combining a scientific perspective on the topic with an in-depth view on relevant technologies.

To this end, the first part of the book introduces the theoretical and technological foundations for designing and developing mashups, as well as for designing tools that can aid mashup development. The second part then focuses more specifically on various aspects of mashups. It discusses a set of core component technologies, core approaches and architectural patterns, with a particular emphasis on tool-aided mashup development exploiting model-driven architectures. Development processes for mashups are also discussed and special attention is paid to composition paradigms for the end-user development of mashups and quality issues.

Overall, the book is of interest to a wide range of readers. Students, lecturers, and researchers will find a comprehensive overview of core concepts and technological foundations for mashup implementation and composition. Even without low-level coding details, practitioners like software architects will find guidance on key implementation concepts, architectural patterns and development tools and approaches. A related website provides additional teaching material which can be used either as part of a course or for self study.

More info

"This book is timely, provides a through scientific investigation and also has practical relevance in the general area of composition and mashups. It is of particular interest to researchers and professionals wishing to learn about relevant concepts and techniques in service mashups, composition, and end-user programming." - From the Preface by Boualem Benatallah, University of New South Wales, Sydney
1 Introduction 1(14)
1.1 Concepts and Definitions
1(3)
1.2 Mashup Types
4(3)
1.3 Benefits and Benefiters
7(2)
1.4 The Research Perspective
9(2)
1.5 This Book
11(4)
Part I Fundamentals
2 Data and Application Integration
15(26)
2.1 Introduction
15(2)
2.2 The Integration Problem: A Scenario
17(1)
2.3 Data Integration
18(9)
2.3.1 Materialized Versus Virtual Data Integration
18(1)
2.3.2 The Mediator-Wrapper Architecture
19(4)
2.3.3 Peer-to-Peer Data Management Systems
23(1)
2.3.4 Ontology-Based Data Integration
24(1)
2.3.5 Lightweight Data Integration
25(2)
2.4 Application Integration
27(9)
2.4.1 Middleware and Application Integration
27(2)
2.4.2 Workflow Management Systems
29(2)
2.4.3 Web Services
31(1)
2.4.4 Service-Oriented Computing
32(4)
2.5 Cloud Computing
36(3)
2.5.1 Virtualization
37(1)
2.5.2 Cloud Architectures
38(1)
2.6 Summary and Bibliographic Notes
39(2)
3 Web Technologies
41(30)
3.1 Introduction
41(3)
3.2 The Internet
44(3)
3.2.1 Internet Topology
44(1)
3.2.2 The TCP/IP Protocol Stack
45(1)
3.2.3 The HTTP Protocol
46(1)
3.3 The Hypertext Markup Language
47(4)
3.3.1 HTML 5
50(1)
3.4 Cascading Style Sheets
51(2)
3.5 Client-Side Scripting
53(2)
3.6 Client-Side Business Logic and AJAX
55(2)
3.7 Server-Side Business Logic
57(7)
3.7.1 Servlets
58(1)
3.7.2 Server-Side Scripting
58(3)
3.7.3 Multitiered Web Architectures
61(3)
3.8 Model-View-Controller Pattern
64(2)
3.9 Data Representation Formats
66(2)
3.9.1 eXtensible Markup Language
66(1)
3.9.2 JavaScript Object Notation
67(1)
3.10 Summary and Bibliographic Notes
68(3)
4 Model-Driven Software Development
71(26)
4.1 Introduction
71(3)
4.2 Model-Driven Design
74(5)
4.2.1 Conceptual Modeling
74(2)
4.2.2 Model-Driven Architecture
76(2)
4.2.3 Architecture-Centric MDSD
78(1)
4.3 Metamodeling
79(8)
4.3.1 The Metalevels
79(2)
4.3.2 Metamodels, MOF, and UML Profiles
81(4)
4.3.3 Modeling Syntax
85(2)
4.4 From the Model to the Application
87(4)
4.4.1 Model-to-Model Transformations
87(1)
4.4.2 Code Generation
88(3)
4.4.3 Model Interpretation
91(1)
4.5 Summary and Bibliographic Notes
91(6)
Part II Mashups
5 Mashup Components
97(40)
5.1 Introduction
97(1)
5.2 Modeling Components
98(9)
5.2.1 Basic Component Model
99(1)
5.2.2 Component Characteristics
100(7)
5.3 Logic Components
107(9)
5.3.1 Web Services
107(3)
5.3.2 RESTful Web Services
110(3)
5.3.3 JavaScript APIs and Libraries
113(1)
5.3.4 Device APIs
114(1)
5.3.5 API Extraction
115(1)
5.4 Data Components
116(8)
5.4.1 Really Simple Syndication
116(2)
5.4.2 Atom
118(1)
5.4.3 XML, JSON, CSV, and Similar
119(1)
5.4.4 Web Data Extraction
120(1)
5.4.5 Microformats and Linked Data
121(3)
5.5 User Interface Components
124(7)
5.5.1 Code Snippets and JavaScript UI Libraries
124(1)
5.5.2 Java Portlets
125(2)
5.5.3 Widgets and Gadgets
127(3)
5.5.4 Web Clipping and UI Component Extraction
130(1)
5.6 Real-Time Streaming Components
131(3)
5.6.1 Multimedia Resources
131(1)
5.6.2 Telco APIs
132(2)
5.7 Summary and Bibliographic Notes
134(3)
6 Mashups
137(46)
6.1 Introduction
137(3)
6.2 Modeling Mashups
140(8)
6.2.1 Basic Mashup Model
141(1)
6.2.2 Mashup Characteristics
142(6)
6.3 Data Mashups
148(7)
6.3.1 Point-to-Point Data Mashups
151(1)
6.3.2 Centrally Mediated Data Mashups
152(2)
6.3.3 Data Mashups with External Data Processing Logic
154(1)
6.4 Logic Mashups
155(5)
6.4.1 Stateless Logic Mashups
158(1)
6.4.2 Long-Living Logic Mashups
159(1)
6.5 User Interface Mashups
160(14)
6.5.1 HTML UI Mashups
163(2)
6.5.2 Wrapped UI Mashups
165(2)
6.5.3 Container-Based UI Mashups
167(7)
6.6 Hybrid Mashups
174(6)
6.7 Summary and Bibliographic Notes
180(3)
7 Advanced Mashups
183(18)
7.1 Introduction
183(2)
7.2 Multiuser Mashups
185(6)
7.2.1 Concurrent Mashup Components
185(1)
7.2.2 Concurrent Mashups
186(2)
7.2.3 Process Mashups
188(3)
7.3 Mobile Mashups
191(3)
7.4 Telco Mashups
194(2)
7.5 Enterprise Mashups
196(4)
7.6 Summary and Bibliographic Notes
200(1)
8 Tool-Aided Mashup Development
201(36)
8.1 Introduction
201(3)
8.2 Mashup Modeling Concerns
204(2)
8.3 Abstracting Components
206(3)
8.4 Mashup Metamodels
209(8)
8.4.1 A Simple Example
209(3)
8.4.2 Yahoo! Pipes
212(2)
8.4.3 mashArt
214(3)
8.5 Mashup Languages
217(4)
8.5.1 Enterprise Mashup Markup Language
217(2)
8.5.2 Open Mashup Description Language
219(2)
8.6 Developing Mashup Languages
221(4)
8.6.1 Conceptual Development
222(1)
8.6.2 Usage Example
223(2)
8.7 Mashup Platforms
225(9)
8.7.1 Mashup Development
226(4)
8.7.2 Mashup Execution and Operation
230(3)
8.7.3 Mashup Management
233(1)
8.8 Summary and Bibliographic Notes
234(3)
9 Mashups and End-User Development
237(32)
9.1 Introduction
237(2)
9.2 User-Driven Innovation
239(1)
9.3 EUD Mashup Scenarios
240(3)
9.4 Lightweight Development Process
243(2)
9.4.1 Component Discovery and Selection
244(1)
9.4.2 Mashup Composition
244(1)
9.4.3 Usage and Maintenance
245(1)
9.5 EUD Dimensions for Mashup Tools
245(20)
9.5.1 Representation
246(5)
9.5.2 Domain Specificity
251(6)
9.5.3 Assistance Capability
257(8)
9.6 Guidelines for EUD of Mashups
265(2)
9.7 Summary and Bibliographic Notes
267(2)
10 Quality in Mashup Development
269(24)
10.1 Introduction
269(2)
10.2 Component Quality
271(8)
10.2.1 API Quality
272(5)
10.2.2 Component Data Quality
277(1)
10.2.3 Presentation Quality
278(1)
10.3 Mashup Quality
279(11)
10.3.1 Characterizing the Integration Sets
281(1)
10.3.2 Roles of Mashup Components
282(2)
10.3.3 Composition Quality
284(3)
10.3.4 Information Quality
287(2)
10.3.5 Presentation Quality
289(1)
10.4 Summary and Bibliographic Notes
290(3)
11 Outlook
293(6)
11.1 Summary
293(1)
11.2 Outlook
294(3)
11.2.1 Growth
294(1)
11.2.2 Threats
295(1)
11.2.3 Directions
296(1)
11.3 The Fate of Mashups
297(2)
References 299(14)
Index 313
Florian Daniel is a senior research fellow at the University of Trento, Italy. He has been visiting researcher at UNSW, Sydney, Australia, and HP Labs, Palo Alto, USA, and post-doc researcher at Politecnico di Milano, Italy. Florian has been working on mashups and lightweight integration on the Web for more than seven years in the context of own research, EU-FP7 projects, and industry-funded projects in Europe, the United States and China. His research interests also include conceptual modeling of Web applications, business process management and service-oriented computing. Florian has served as PC Chair of the international conferences BPM, ICWE and MobiWIS.

Maristella Matera is Associate Professor at Politecnico di Milano. Her research focuses on Web engineering, with particular emphasis on model-based methods and tools for Web application development. She dedicated the last years to investigating mashup languages and tools, with particular focus on the definition of composition paradigms for end-user development. She worked on these (and other) research topics in the context of several national and international research projects. She published the achieved results in more than one hundred papers and in the books "Engineering Web Applications" (Springer, 2009) and "Designing Data-Intensive Web Applications" (Morgan Kaufmann publisher, 2002).