Thư viện tri thức trực tuyến
Kho tài liệu với 50,000+ tài liệu học thuật
© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

Introduction to middleware
Nội dung xem thử
Mô tả chi tiết
INTRODUCTION
TO
MIDDLEWARE
Web Services, Object Components,
and Cloud Computing
INTRODUCTION
TO
MIDDLEWARE
Web Services, Object
Components, and
Cloud Computing
Letha Hughes Etzkorn
CRC Press
Taylor & Francis Group
6000 Broken Sound Parkway NW, Suite 300
Boca Raton, FL 33487-2742
© 2017 by Taylor & Francis Group, LLC
CRC Press is an imprint of Taylor & Francis Group, an Informa business
No claim to original U.S. Government works
Printed on acid-free paper
International Standard Book Number-13: 978-1-4987-5407-1 (Hardback)
This book contains information obtained from authentic and highly regarded sources. Reasonable efforts have been made
to publish reliable data and information, but the author and publisher cannot assume responsibility for the validity of all
materials or the consequences of their use. The authors and publishers have attempted to trace the copyright holders of all
material reproduced in this publication and apologize to copyright holders if permission to publish in this form has not
been obtained. If any copyright material has not been acknowledged please write and let us know so we may rectify in any
future reprint.
Except as permitted under U.S. Copyright Law, no part of this book may be reprinted, reproduced, transmitted, or utilized
in any form by any electronic, mechanical, or other means, now known or hereafter invented, including photocopying,
microfilming, and recording, or in any information storage or retrieval system, without written permission from the
publishers.
For permission to photocopy or use material electronically from this work, please access www.copyright.com (http://
www.copyright.com/) or contact the Copyright Clearance Center, Inc. (CCC), 222 Rosewood Drive, Danvers, MA 01923,
978-750-8400. CCC is a not-for-profit organization that provides licenses and registration for a variety of users. For
organizations that have been granted a photocopy license by the CCC, a separate system of payment has been arranged.
Trademark Notice: Product or corporate names may be trademarks or registered trademarks, and are used only for
identification and explanation without intent to infringe.
Visit the Taylor & Francis Web site at
http://www.taylorandfrancis.com
and the CRC Press Web site at
http://www.crcpress.com
Dedication
To my husband and sweetheart, Dave, who always does so much for me
(he did most of the review of the proofs for this textbook), to the other centers
of my heart: Tricia and Chris, and to the memory of Daddy and Mama.
Mama always wanted one of her kids to write a book, although I don't think
a textbook was what she had in mind.
Contents
Online Resources ............................................................................................................................xix
Preface.............................................................................................................................................xxi
Author ............................................................................................................................................ xxv
SECTION I The Different Paradigms
Chapter 1 Introduction ..................................................................................................................3
1.1 What Is Middleware? ........................................................................................ 4
1.2 Technology Review: Sockets............................................................................ 5
1.2.1 Socket Data Structures......................................................................... 5
1.2.2 Socket Library Calls ........................................................................... 7
1.2.3 Network Byte Order and How It Is Used with Sockets ..................... 8
1.2.4 General Socket Operation.................................................................... 9
1.2.5 Simple Socket Example..................................................................... 10
1.2.6 Sending Data Other than Char Data—Problems with Endianness...... 17
1.3 Brief Introduction to Other Middlewares........................................................ 18
1.3.1 What Are Remote Procedure Calls?—Also Introduction to
Synchronous and Asynchronous Operation ...................................... 18
1.3.2 What Are Distributed Object-Oriented Components?....................... 20
1.3.3 What Is Message-Oriented Middleware? .......................................... 20
1.3.4 What Are Service-Oriented Architectures? ....................................... 21
1.3.5 What Are Web Services?................................................................... 22
1.3.6 What Is Cloud Computing?............................................................... 23
1.4 Environmental Monitoring Project.................................................................. 23
1.5 Sailboat Marina Management Project ............................................................. 25
Exercises .................................................................................................................... 26
Conceptual Questions ................................................................................................ 27
Bibliography............................................................................................................... 27
Chapter 2 Software Architectural Styles/Patterns for Middleware .............................................31
2.1 Just What Is a “Software Architecture,” Anyway?......................................... 31
2.2 Architectural Styles/Patterns ........................................................................... 33
2.3 Architectural Styles/Patterns for Middleware ................................................. 35
2.3.1 Gomaa’s Architectural Patterns ......................................................... 35
2.3.2 Fielding’s Architectural Styles .......................................................... 37
2.3.3 Fielding’s Architectural Properties .................................................... 39
2.4 Architectural Styles/Patterns for Distributed Object-Oriented Components......43
2.5 Architectural Styles/Patterns for Service-Oriented Architectures ................... 44
2.6 Architectural Styles/Patterns for Web Services .............................................. 46
2.7 Architectural Styles/Patterns for Cloud Computing........................................ 46
Exercises .................................................................................................................... 48
Conceptual Questions ................................................................................................ 48
Bibliography............................................................................................................... 48
vii
SECTION II Enabling Technologies for Middleware
Chapter 3 Introduction to Internet Technologies ........................................................................55
3.1 Just What Is the Internet, Anyway? ................................................................ 55
3.2 Brief Introduction to TCP/IP and UDP........................................................... 55
3.3 IP Addresses (IPv4 and IPv6) and Subnetting................................................ 57
3.3.1 IPv4 Addresses .................................................................................. 57
3.3.1.1 Private IP Addresses and Network Address Translation ..... 58
3.3.2 IPv6 Addresses .................................................................................. 58
3.3.3 Subnetting ......................................................................................... 59
3.4 Port Numbers .................................................................................................. 60
3.5 Other Important Network Information............................................................ 61
3.5.1 Internet Control Message Protocol .................................................... 61
3.5.2 LAN Protocols: Ethernet and Wi-Fi.................................................. 61
3.5.3 Media Access Control Addresses ...................................................... 62
3.5.4 Hubs, Bridges, Switches, and Routers............................................... 62
3.5.5 Autoconfiguration for IPv4: Dynamic Host
Configuration Protocol ...................................................................... 63
3.5.6 Autoconfiguration for IPv6................................................................ 64
3.5.6.1 DHCP for IPv6 .................................................................. 65
3.5.7 Virtual Local Area Network .............................................................. 65
3.6 Universally Unique Identifiers ........................................................................ 66
Exercises .................................................................................................................... 68
Conceptual Questions ................................................................................................ 68
Bibliography............................................................................................................... 69
Chapter 4 Introduction to World Wide Web Technologies........................................................71
4.1 Just What Is the Web, Anyway?..................................................................... 71
4.2 Hypertext Transfer Protocol............................................................................ 71
4.3 HTML, XML, and HTML Forms................................................................... 72
4.4 XML Schema Basics....................................................................................... 79
4.5 JavaScript Object Notation (JSON) ................................................................ 81
4.6 Internet Media Types (MIME Types)............................................................. 82
4.7 Base 64 Encoding ........................................................................................... 82
4.8 URL Encoding (Percent Encoding) and URL Base 64 Encoding .................. 85
4.9 Domain Names and Domain Name Servers ................................................... 85
4.10 Document Object Model and Browser Object Model .................................... 87
4.11 Popular Web Servers....................................................................................... 88
4.11.1 Web/Application Servers: LAMP versus Windows/ASP
versus Java......................................................................................... 89
4.11.1.1 MySQL—The M in LAMP................................................ 89
4.11.1.2 Using Java Database Connectivity (JDBC) with MySQL ....91
4.11.1.3 Using MySQLi in PHP with MySQL ................................ 93
4.11.2 GlassFish Application Server ............................................................ 95
4.11.2.1 How to Start GlassFish and Run an Application
on GlassFish ....................................................................... 95
4.12 cURL............................................................................................................... 99
Exercises .................................................................................................................. 101
viii Contents
Conceptual Questions .............................................................................................. 101
Bibliography............................................................................................................. 102
Chapter 5 Security Basics .........................................................................................................105
5.1 Just Why Should Anyone Care About Security, Anyway? .......................... 105
5.2 Symmetric Key Cryptography and Asymmetric Key/Public
Key Cryptography ........................................................................................ 105
5.3 Hash (Message Digest) Functions ................................................................ 105
5.4 Digital Signatures and Message Authentication Codes ................................ 106
5.5 Public Key Infrastructure and Certificate Authorities................................... 107
5.6 Transport Layer Security and Secure Sockets Layer .................................... 108
5.6.1 But How Does TLS Work? ............................................................. 108
5.7 Cryptographic Message Syntax..................................................................... 110
Exercises .................................................................................................................. 112
Conceptual Questions .............................................................................................. 112
Bibliography............................................................................................................. 112
Chapter 6 Microsoft Technologies Basics ................................................................................115
6.1 Microsoft “World” versus the Rest of the World ......................................... 115
6.2 Dynamic Link Library Files and Windows Side by Side ............................. 115
6.3 Common Language Runtime (CLR)............................................................. 116
6.4 Global Assemblies Cache ............................................................................. 117
6.5 Named Pipes in Windows............................................................................. 118
Exercises .................................................................................................................. 119
Conceptual Questions .............................................................................................. 120
Bibliography............................................................................................................. 120
Chapter 7 Cloud Technologies Basics ...................................................................................... 121
7.1 What You Need to Know for the Cloud....................................................... 121
7.2 Just What Are Disk Images and Virtual Machine Images, Anyway?........... 121
7.2.1 Various Kinds of Disk Images and Virtual Machine Images.......... 121
7.3 Just What Are Hypervisors and Virtual Machines, Anyway? ...................... 123
7.3.1 Some Examples of Type 2 Hypervisors .......................................... 124
7.3.1.1 Some VirtualBox Installation Hints ................................. 125
7.3.2 Some Examples of Type 1 Hypervisors .......................................... 125
7.3.2.1 libvirt ................................................................................ 126
7.4 Software-Defined Networking and Network Virtualization ......................... 126
7.4.1 Open vSwitch/OpenFlow and Linux Bridge ................................... 128
7.4.1.1 OpenFlow ......................................................................... 129
7.4.1.2 How Open vSwitch Works............................................... 130
7.5 Virtualization Security .................................................................................. 130
7.5.1 Hypervisor Security ......................................................................... 131
7.6 Cloud Security............................................................................................... 134
7.6.1 Physical Data Center Security ......................................................... 136
Exercises .................................................................................................................. 137
Conceptual Questions .............................................................................................. 137
Bibliography............................................................................................................. 137
Contents ix
SECTION III Middleware Using Distributed Object-Oriented
Components
Chapter 8 Distributed Object-Oriented Components................................................................ 143
8.1 Just What Do We Mean by “Object-Oriented Middleware” and
“Component Middleware,” Anyway?........................................................... 143
8.2 Technology Review: Common Object Request Broker Architecture
(CORBA) ...................................................................................................... 144
8.2.1 Basic CORBA Concepts.................................................................. 145
8.2.1.1 First Look at CORBA: Overview of Simple
Echo Example................................................................... 147
8.2.2 Interface Description Language....................................................... 151
8.2.3 CORBA IDL to C++/C and CORBA IDL to Java Bindings .......... 158
8.2.3.1 CORBA IDL to C++ Binding .......................................... 160
8.2.3.2 CORBA IDL to Java Binding .......................................... 166
8.2.4 CORBA Addressing—How Does the Client Find the Server
and Associated Servant?.................................................................. 169
8.2.4.1 Interoperable Object Reference and the CORBA
Naming Service ................................................................ 170
8.2.4.2 CORBA Interoperable Naming Service (corbaloc
and corbaname) ................................................................ 177
8.2.5 Simplest Echo Example................................................................... 179
8.2.5.1 Echo Example—Server Side ............................................ 179
8.2.5.2 Echo Example—Client Side............................................. 185
8.2.6 Echo Example Using Naming Service ............................................ 188
8.2.7 CORBA Under the Hood and Some Leftover CORBA Stuff......... 191
8.2.7.1 CORBA Under the Hood ................................................. 191
8.2.7.2 Some Leftover CORBA Stuff .......................................... 193
8.2.8 Portable Object Adapter .................................................................. 195
8.2.8.1 Introduction to POA Policies ........................................... 196
8.2.9 Echo Example—Default Servant..................................................... 200
8.2.10 Echo Example—Persistent POA and Default Servant .................... 203
8.3 Technology Review: .NET Remoting........................................................... 206
8.3.1 .NET Remoting Basics .................................................................... 206
8.3.1.1 Application Domains (Appdomains)................................ 207
8.3.1.2 Assemblies and Metadata................................................. 208
8.3.1.3 Manifest Files ................................................................... 208
8.3.1.4 .NET Library Files ........................................................... 212
8.3.2 Call C# from C#, Not Using Remoting........................................... 212
8.3.3 .NET Remoting Using Marshaling by Value .................................. 214
8.3.4 Marshal by Reference: The Heart of .NET Remoting..................... 214
8.3.5 Client-Activated Object ................................................................... 218
8.3.6 Server-Activated Single Call ........................................................... 221
8.3.7 Server-Activated Singleton.............................................................. 223
8.3.8 How to Handle Different Kinds of Channels .................................. 225
8.3.9 How to Handle Different Kinds of Formatters................................ 227
8.3.10 Remote Object Lifetimes—Leases on Objects................................ 228
8.3.11 Asynchronous .NET Remoting ....................................................... 232
8.3.11.1 Asynchronous .NET Remoting—Polling......................... 233
8.3.11.2 Asynchronous .NET Remoting—Callback Function....... 236
x Contents
8.4 Technology Review: Enterprise Java Beans................................................. 242
8.4.1 A Brief Introduction to Session Bean Concepts.............................. 243
8.4.2 Environment and Procedures Used to Build and Run
EJB Examples.................................................................................. 244
8.4.3 Stateless Session Beans ................................................................... 245
8.4.3.1 Very Simple Stateless Session Bean Example ................. 245
8.4.3.2 Very Simple Stateless Session Bean Example Passes
an Array Parameter........................................................... 248
8.4.3.3 Very Simple Stateless Session Bean Example Passes
an Object Parameter ......................................................... 249
8.4.3.4 Very Simple Stateless Session Bean Example with
Injection, and Local and Remote Interfaces..................... 250
8.4.3.5 Simple Stateless Session Bean Example That
Illustrates Stateless Characteristics................................... 254
8.4.4 Singleton Session Beans.................................................................. 258
8.4.5 Stateful Session Beans..................................................................... 260
8.4.5.1 Stateful Session Bean Example........................................ 261
8.4.5.2 Stateful Session Bean Asynchronous ............................... 264
8.4.5.3 Stateful Session Bean Lifecycle Callbacks ...................... 267
8.4.5.4 Stateful Session Bean Lifecycle Callbacks Forces
Passivate ........................................................................... 272
CORBA Exercises.................................................................................................... 279
.NET Remoting Exercises........................................................................................ 280
EJB Exercises........................................................................................................... 280
Conceptual Questions .............................................................................................. 281
Bibliography............................................................................................................. 281
SECTION IV Middleware Using Web Services
Chapter 9 Web Services Architectures ..................................................................................... 287
9.1 Service-Oriented Architectures ..................................................................... 287
9.1.1 In-Depth Look at Service-Oriented Architecture ............................ 288
9.1.2 The Relationship between SOA and Cloud Computing.................. 291
9.1.3 Implementations of Service-Oriented Architectures........................ 292
9.2 RESTful Architectural Style and Non-RESTful versus RESTful
Web Services................................................................................................. 293
9.2.1 RESTful Architectural Style............................................................ 293
9.2.2 Non-RESTful versus RESTful Web Services ................................. 295
Exercises .................................................................................................................. 297
Conceptual Questions .............................................................................................. 297
Bibliography............................................................................................................. 298
Chapter 10 Non-RESTful Web Services ....................................................................................301
10.1 Just What Do We Mean by “Non-RESTful Web Services,” Anyway? ....... 301
10.2 SOAP Messaging Protocol ........................................................................... 302
10.2.1 Overall SOAP Message Format ...................................................... 303
10.2.2 Encoding of SOAP Messages.......................................................... 303
Contents xi
10.2.3 SOAP Message Formats.................................................................. 305
10.2.3.1 RPC-SOAP Encoded Message Format ............................ 306
10.2.3.2 RPC-Literal Message Format ........................................... 307
10.2.3.3 Document-Literal Message Format .................................. 307
10.2.3.4 Document-Literal Wrapped Message Format .................. 309
10.2.3.5 Summary of Pros and Cons of the Different SOAP
Message Formats.............................................................. 310
10.2.4 SOAP Faults .................................................................................... 312
10.2.5 SOAP Headers................................................................................. 316
10.2.6 SOAP Binding to HTTP.................................................................. 317
10.3 Technology Review: Web Services Description Language (WSDL)........... 317
10.3.1 WSDL 1.1 Format ........................................................................... 318
10.3.2 WSDL 2.0 Format ........................................................................... 320
10.3.3 WSDL Message Exchange Patterns ................................................ 322
10.3.4 RESTful Web Services through WADL and WSDL 2.0 ................ 323
10.3.4.1 Web Application Description Language (WADL)........... 323
10.3.4.2 Web Services Description Language 2.0
RESTful Mapping ............................................................ 324
10.4 Technology Review: Java API for XML Web Services (JAX-WS)............. 325
10.4.1 Brief Introduction to JAX-WS Concepts......................................... 325
10.4.2 Creating JAX-WS Clients ............................................................... 329
10.4.2.1 Client Created Using wsimport ........................................ 329
10.4.2.2 Dynamic Proxy Client...................................................... 331
10.4.2.3 Dynamic Dispatch Client—SOAP 1.1 ............................. 332
10.4.2.4 Dynamic Dispatch Client—SOAP 1.2 ............................. 335
10.4.3 Service Endpoint Implementation Bindings.................................... 336
10.4.4 A Few Other Comments.................................................................. 337
10.4.5 Building RESTful Web Services with JAX-WS ............................. 337
10.4.6 JAX-WS Asynchronous Example ................................................... 338
10.5 Technology Review: Windows Communication Foundation (WCF)........... 340
10.5.1 Brief Introduction to WCF Concepts .............................................. 341
10.5.1.1 Address............................................................................. 341
10.5.1.2 Binding ............................................................................. 341
10.5.1.3 Contract ............................................................................ 342
10.5.1.4 Channels ........................................................................... 344
10.5.2 Examination of Specific WCF Examples........................................ 347
10.5.2.1 HelloWorld Service .......................................................... 348
10.5.2.2 Self-Host of the HelloWorld Service ............................... 349
10.5.2.3 Clients to Call the HelloWorld Service............................ 350
10.5.2.4 Metadata ........................................................................... 355
10.5.3 Message Exchange Patterns in WCF............................................... 357
SOAP Exercises ....................................................................................................... 358
WSDL and WADL Exercises .................................................................................. 359
JAX-WS Exercises................................................................................................... 359
WCF Exercises......................................................................................................... 359
Conceptual Questions .............................................................................................. 359
Bibliography............................................................................................................. 360
Chapter 11 RESTful Web Services.............................................................................................363
11.1 Technology Review: Asynchronous JavaScript and XML (AJAX)............. 364
11.1.1 Simple XMLHttpRequest Example................................................. 365
xii Contents
11.1.2 Response Codes Example................................................................ 367
11.1.3 Example Clearly Illustrating Asynchronous XMLHttpRequest ...... 368
11.2 Technology Review: Java Servlets ............................................................... 375
11.2.1 Are Servlets RESTful ...................................................................... 375
11.2.2 Java Servlet Lifecycle...................................................................... 377
11.2.3 Simple Servlet Example Uses WebServlet...................................... 378
11.2.4 How to Pass Parameters to a Web Servlet
(Still Using WebServlet).................................................................. 380
11.2.5 Slightly More Complicated Servlet Example Uses WebServlet ..... 383
11.2.6 Simple Servlet Uses web.xml.......................................................... 387
11.2.7 Asynchronous Servlet...................................................................... 389
11.2.8 Servlet Storage between HTTP Request/Response Calls and
Servlet Sessions ............................................................................... 392
11.3 Technology Review: Java API for RESTful Web Services (JAX-RS) ........ 394
11.3.1 JAX-RS Basics Including JAX-RS Annotations............................. 394
11.3.2 Simple JAX-RS Example ................................................................ 398
11.3.3 How to Deploy a JAX-RS Server ................................................... 403
11.3.3.1 Using a web.xml File to Deploy a JAX-RS Server ......... 405
11.3.3.2 Using an ApplicationConfig Class to Deploy a
JAX-RS Server ................................................................. 406
11.3.4 Passing Parameters to a JAX-RS Server ......................................... 407
11.3.4.1 @PathParam Parameters .................................................. 407
11.3.4.2 @QueryParam Parameters................................................ 410
11.3.4.3 @FormParam Parameters................................................. 411
11.3.4.4 Expanded Parameter Example Shows Need for
@Consumes/@Produces ................................................. 412
11.3.5 JAX-RS Client API ......................................................................... 415
11.3.5.1 JAX-RS Client Using Generic Invocation—Runs
Inside Servlet Container ................................................... 415
11.3.5.2 JAX-RS Client Using Specific Invocations—Runs
as Separate Java Application............................................ 418
11.3.6 JSON API ........................................................................................ 421
11.3.7 Asynchronous JAX-RS Example .................................................... 423
11.3.7.1 Very Simple Asynchronous JAX-RS Example................ 424
11.3.7.2 Asynchronous JAX-RS Example—Multiple Clients ....... 425
11.3.8 Why Do You Need JAX-RS When You’ve Got Servlets? ............. 431
AJAX Exercises ....................................................................................................... 434
Java Servlets Exercises ............................................................................................ 434
JAX-RS Exercises.................................................................................................... 434
Conceptual Questions .............................................................................................. 435
Bibliography............................................................................................................. 435
Chapter 12 RESTful Web Services in .NET...............................................................................439
12.1 Technology Review: Windows Communication Foundation—RESTful..... 439
12.1.1 RESTful Bindings and Behavior ..................................................... 439
12.1.2 Self-Hosted RESTful Web Service ................................................. 439
12.1.3 Extremely Simple RESTful Web Service Client............................. 441
12.1.4 Web Service Contract Specifying Which HTTP Commands
to Use............................................................................................... 442
12.1.5 WCF-RESTful Web Service That Returns JSON Data................... 444
Contents xiii
12.2 Technology Review: ASP.NET Model–View–Controller and ASP.NET
CORE............................................................................................................ 447
12.2.1 The Model–View–Controller Pattern .............................................. 447
12.2.2 What Are ASP.NET, ASP.NET MVC, and ASP.NET
CORE, Anyway? ............................................................................. 448
12.2.2.1 Razor............................................................................... 449
12.2.2.2 Roadmap for Examining ASP.NET MVC and
ASP.NET CORE............................................................. 449
12.2.3 The Marina Project .......................................................................... 450
12.2.4 ASP.NET MVC4 in Visual Studio 2012......................................... 450
12.2.4.1 Create MVC Project........................................................ 450
12.2.4.2 Create Model................................................................... 450
12.2.4.3 Create Controller............................................................. 454
12.2.4.4 Do a Build Followed by Start without Debugging......... 456
12.2.4.5 Examine Default Views of Marina Database ................. 456
12.2.4.6 Enter Data in Database ................................................... 456
12.2.4.7 Show Data Directly from Database ................................ 458
12.2.4.8 Use Other Default Views of Marina Database ............... 459
12.2.4.9 Change Layout in Shared View...................................... 462
12.2.4.10 Create a New Controller Method (Action Method)
and Its New View........................................................... 464
12.2.5 Add Asynchronous Controller to Marina Project in
ASP.NET MVC4............................................................................. 464
12.2.5.1 Scheduling Maintenance Using PHP Server ................. 464
12.2.5.2 Scheduling Maintenance Using Internal ASP.NET
MVC4 Server.................................................................. 469
12.2.6 How Asynchronous Calls Really Work in ASP.NET MVC........... 471
12.2.6.1 Simple Asynchronous Example...................................... 471
12.2.6.2 (Async or Sync?) Example Using Two PHP Servers..... 474
12.2.7 Redirect............................................................................................ 476
12.2.8 How to Access ASP.NET MVC Capabilities with
cURL Commands ............................................................................ 478
12.2.9 Access Controller Using HTTP Commands Other than GET......... 482
12.2.10 Routing in ASP.NET MVC............................................................. 484
12.2.11 HTML Helpers ................................................................................ 486
12.2.11.1 EditorFor versus TextBoxFor ......................................... 488
12.2.11.2 ValidationMessageFor .................................................... 491
12.2.11.3 RadioButton .................................................................... 492
12.2.11.4 TextArea and TextAreaFor Example.............................. 492
12.2.11.5 ListBoxFor ...................................................................... 494
12.2.11.6 DropDownList ................................................................ 494
12.2.12 ASP.NET Core 1.0 in Visual Studio 2015...................................... 497
12.2.12.1 Create MVC Project........................................................ 497
12.2.12.2 Create Model................................................................... 497
12.2.12.3 Create Controller............................................................. 498
12.2.12.4 Enter Data ....................................................................... 502
12.2.12.5 Use Other Default Views of Marina Database ............... 505
12.2.12.6 Add RequestMaintenance Action Method and
Associated View ............................................................. 506
12.2.12.7 Add Asynchronous Controller to Marina Project in
ASP.NET CORE............................................................. 510
12.2.13 Is ASP.NET MVC Really RESTful?............................................... 517
xiv Contents