ASP.NET MVC 4 & WEB API. Jamie Kurtz

Podobne dokumenty
ABC WCF.

Wielowarstwowe aplikacje internetowe. Web Services. Autorzy wykładu: Maciej Zakrzewicz Marek Wojciechowski. Web Services

Paweł Rajba

Aplikacje webowe z wykorzystaniem Node.js oraz Express

Komunikacja międzysystemowa

Wielowarstwowe aplikacje internetowe. Web Services. Autorzy wykładu: Maciej Zakrzewicz Marek Wojciechowski. Web Services

Usługi sieciowe REST. Instytut Informatyki Politechnika Poznańska

Architektury Usług Internetowych. Laboratorium 2 RESTful Web Services

Zaawansowane aplikacje internetowe laboratorium REST

Jak widzisz w powyższym przykładzie, mimo że operacja nie powiodła się (otrzymaliśmy status Błąd ), serwer zwrócił nam kod 200 OK.

Rozproszone systemy Internetowe

Programowanie Komponentowe WebAPI

Usługi sieciowe (Web Services)

Plan wykładu. Technologia Web Services. Web Services a WWW

Wprowadzenie do usług internetowych

Web Service y w Javie

EPI: Interfejs Graficzny Wykład nr 4 Podstawy frameworku Rails

Projektowanie i Konstrukcja Systemów Rozproszonych. ServiceStack

Web Services. Wojciech Mazur. 17 marca Politechnika Wrocławska Wydział Informatyki i Zarządzania

RESTful WCF Services. Autor ćwiczenia: Piotr Ostrowski. Kroki ćwiczenia : 1. Utworzenie nowego projektu RESTful WCF.

Poniższy diagram prezentuje scenariusz subskrypcji aplikacji do usługi CallEventNotifications.

Spis treści. Wprowadzenie 13

Podejścia do realizacji Web Services

NoSQL Not Only SQL: CouchDB. I.Wojnicki, NoSQL. Apache CouchDB has started. Time to relax. Przetwarzanie dokumentów i widoków.

Technologie dla aplikacji klasy enterprise. Wprowadzenie. Marek Wojciechowski

DOJRZAŁOŚĆ USŁUG INTERNETOWYCH MODEL DOJRZAŁOŚCI USŁUG WG RICHARDSONA USŁUGI STEROWANE RELACJAMI HIPERTEKSTOWYMI. Waldemar Korłub

T O M A S Z N I T K A

RESTful Web Services na platformie Java EE (JAX-RS)

Programowanie Systemów Rozproszonych - WCF

Wybrane działy Informatyki Stosowanej

REFERAT PRACY DYPLMOWEJ. Temat pracy: Projekt i realizacja warstwy serwerowej gry internetowej

Hybrydowe aplikacje webowe

.NET NET Framework Microsoft Windows Communication Foundation Microsoft Windows Presentation Foundation Microsoft Windows Workflow Foundation

IT Camp Junior Java Developer. Cel kursu

Tworzenie i wykorzystanie usług sieciowych

Protokół HTTP. 1. Protokół HTTP, usługi www, model request-response (żądanie-odpowiedź), przekazywanie argumentów, AJAX.

Absolwent przyszłości

Ruby i Ruby on Rails. Mateusz Drożdżyński

API System Partnerski

Równoległość w środowisku rozproszonym. Jarosław Kuchta Programowanie Współbieżne

Departament Zakupów Centralnych ul. Żaryna 2A, Warszawa tel. (22) DZC/AS/708/12. Warszawa, dn. 27 listopada 2012 r.

Programowanie Systemów Rozproszonych - WCF REST

Architektura chmur i wirtualizacja. Wykład 7 Mashups hybrydowe aplikacje webowe

Aplikacje webowe. mgr inż. Aleksander Smywiński-Pohl. Elektroniczne Przetwarzanie Informacji

Podstawy wzorca MVC MODEL KON- TROLER WIDOK. Odpowiada za wyświetlenie danych użytkownikowi. Zawiera dane aplikacji oraz jej logikę.

Ćwiczenie dotyczące platformy Java EE zostało przygotowane z myślą o środowisku NetBeans w wersji 7.3 (do pobrania z

Kurs ASP.NET ASP.NET CORE APLIKACJE WEBOWE

Plan wykładu. 1. Protokół FTP. 2. Protokół HTTP, usługi www, model request-response (żądanie-odpowiedź), przekazywanie argumentów, AJAX.

Praktykant Programista ios/android/windows Phone/Windows 8/PHP/.NET (do wyboru) Biuro w Warszawie

JAVA NA SERWERZE SPRING. Waldemar Korłub. Platformy Technologiczne KASK ETI Politechnika Gdańska

Usługi sieciowe laboratorium 2013 K.M. Ocetkiewicz, T. Goluch

Paweł Rajba,

SOAP i alternatywy. 1. WSDL. 2. Protokoły tekstowe XML-RPC. JSON-RPC. SOAPjr. 3. Protokoły binarne Google Protocol Bufers. Apache Thrift.

PROJEKTOWANIE APLIKACJI INTERNETOWYCH

Poznaj ASP.NET MVC. Kamil Cieślak Microsoft Student Partner

Programowanie. Dodatek - uzupełnienie wiadomości. mgr inż. Krzysztof Szwarc. Sosnowiec,

Platforma.NET Wykład 13 Tworzenie usług sieciowych SOAP i WCF. Spis treści. Marek Sawerwain. 7 czerwca Notatki. Notatki


Usługi sieciowe laboratorium 2013 K.M. Ocetkiewicz, T. Goluch

Dokumentacja Techniczna 1.2. Webtoken MT. Uruchomienie subskrybcji MT poprzez serwis WWW

Programowanie współbieżne i rozproszone

Komputery przemysªowe i systemy wbudowane

Interfejs programistyczny aplikacji (ang. Application Programming Interface, API) zbiór metod reguł i obiektów wykorzystywanych do komunikacji

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (

ZESZYTY NAUKOWE UNIWERSYTETU SZCZECIŃSKIEGO NR 740 STUDIA INFORMATICA NR

Systemy internetowe ASP.NET mgr inż. Andrzej Sobecki

Załącznik nr 1 do zapytania ofertowego nr 1/POKL/2015

Architektura MVC w ASP.NET. Autor wykładu: Marek Wojciechowski

ASP.NET MVC. Autor wykładu: Marek Wojciechowski

Spring, Maven, Postman, Debugger

Realizacja Aplikacji Internetowych 2013 laboratorium K. M. Ocetkiewicz

Dlaczego my? HARMONOGRAM SZKOLEŃ październik - grudzień ACTION Centrum Edukacyjne. Autoryzowane szkolenia. Promocje

RESTful Android. Na co zwrócić uwagę przy tworzeniu aplikacji klienckich REST na Androidzie

MetaPack IT Academy Programista, Technologie, ecommerce. Dariusz Cebernik CTO, MetaPack Poland

Przygotowanie do nowoczesnego programowania po stronie przeglądarki. (HTML5, CSS3, JS, wzorce, architektura, narzędzia)

Lotus Day Warszawa,17. września Lotus Mashups

Tworzenie stron internetowych z wykorzystaniem HTM5, JavaScript, CSS3 i jquery. Łukasz Bartczuk

Projekt warsztatów. Full Stack Developer. Autor: Kamil Wołczyk

Aplikacje Internetowe termin dodatkowy

Zestawy zagadnień na egzamin dyplomowy (inżynierski) dla kierunku INFORMATYKA (studia I stopnia)

4 Web Forms i ASP.NET Web Forms Programowanie Web Forms Możliwości Web Forms Przetwarzanie Web Forms...152

Full Stack Developer

Spis treúci. 1. Wstęp... 11

MVC w praktyce tworzymy system artykułów. cz. 2

Dlaczego my? HARMONOGRAM SZKOLEŃ kwiecień - czerwiec ACTION Centrum Edukacyjne. Autoryzowane szkolenia. Promocje

Projekt: Mikro zaprogramowane na sukces!

Terytorialna analiza danych

UWOLNIĆ INFORMACJĘ PUBLICZNĄ!

Specyfikacja techniczna. mprofi Interfejs API

TIN Techniki Internetowe zima

Cennik. Szkolenia zintegrowane. Java

Angular, cz. II. Tworzenie serwisów Web 2.0. dr inż. Robert Perliński

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

Sieci komputerowe. Wykład 8: Warstwa zastosowań: FTP i HTTP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC

Jak okiełznać frontend w Django? Piotr Maliński

PORADNIKI. Usługi sieciowe w Rails

Program szkolenia: REST i Microservices w PHP

Platformy programistyczne:.net i Java WYKŁ AD 3: WPROWADZENIE DO PL ATFORMY.NET / JĘZYK C#

Transkrypt:

ASP.NET MVC 4 & WEB API Jamie Kurtz

ASP.NETMVC4 & WebAPI JamieKurtz

Kurtz, Jamie. / ASP.NET MVC 4 & Web API.1392.. 144 978-600-6529-41-7 79000.... -- ( )... - 1356 /9 9 1392TK5105/8885 276/005 3246594 www.pendarepars.com 16 14 info@pendarepars.com 09122452348 66926578-66572335 ASP.NETMVC4&WebAPI Jamie Kurtz 92 1000 978-600-6529-41-7 7900 * *

API SOA -. SOAP SoC. SOAP API. REST. SOA 1.. PDA. API Ajax HTML. SOAP.. REST. SOAP REST API. SOAP «WebAPI ASP.NETMVC4» RMM. REST WebAPI. RESTful API REST RESTful ASP.NETMVC4 REST. WebAPI ASP.NETMVC4 API REST REST. RESTful

Ninject Log4Net NHibernate.NET REST. REST ASP.NET MVC 4 Web API. REST ASP.NET MVC 4 Web REST. API... mansoor.omrani@gmail.com 92

1... ASP.NETMVC.1 2... 3...ASP.NETMVC 3... 3... REST 7... 7... 8... REST XML JSON 8...WebAPI 9... 11... RESTful.2 12...REST RPC 13... SOAP XMLRPC 15... URI 16... HTTP 19...HATEOAS 23... HTTP 25... 27... REST.3 28... 30... 32...HTTP URI 36... 39... 41... 42... IoC 43... 45... 45... 46... 46... 47... 49....4 50... 50...Windows7SP164bit 50... SQLServer2012 50...VisualStudio2012 51...NuGetPackageManager2.1

52... 54...Solution 55...NuGet 55... 60... 60... DateTimeAdapter 61... 63... 64... 66... 67... 69....5 69... 71... 72... HttpRequestArgument 73... 74... 76... Ninject 77... 77... 80... MVC Ninject DependencyResolver 82... NHibernate 82... 85... 85... 88... 89... 90... 93... 95... 97....6 97... 97... 99... 100... 101...Principal 102... 104... 108... IUserSession 110...

111....7 111... 113... 113... PrioritiesController 116...CategoriesController 117... 118...Fiddler 119...WebAPI 120... 121...WebAPI OData 122... Task 122...REST 123... Status Priority 124... Categories Users 126... 127... 129... 131...

ASP.NETMVC.1.NET 1 XML 2002.NET...NET.NET. ASMX SOAP. HTTP Remoting.NET1.0 ASMX. HTTP Remoting 3 2...NET. Windows WCF.NET3.0 2006 Remoting ASMX WCF. CommunicationFoundation. SOAP SAML HTTP WCF. 1 serviceorientedapplication 2 objectactivation 3 Sessioncontext

WebAPI ASP.NETMVC.NET WCF. WCF ProgrammingWCFServices WCF EssentialWindowsCommunicationFoundation 2007 O'Reilly. 2008 AddisonWesley WCF.. WCF WCF WCF. WCF.. HTML CSS HTML5 jquery AJAX.. HTTP ). HTTP SOAP. (... JSON XML. 2

3 ASP.NETMVC.1 HTTP. AJAX ).(.. WCF. HTTP WCF WCF... ASP.NETMVC ASP.NETMVC WCF ASP.NETMVC. ASP.NETMVC. WCF contract endpoint MVC. MVC WCF MVC. JSON XML REST URL.. REST WebAPI ASP.NETMVC. REST WCF. ASP.NETMVC MVC (.svc ) ASP.NETMVC. REST. REST API. MVC TaskManagement REST

WebAPI ASP.NETMVC TaskId. WCF. [ServiceContract] publicinterfaceitaskservice { [OperationContract] TaskGetTask(longtaskId); } publicclasstaskserviceitaskservice { privatereadonlyirepository_repository; publictaskservice(irepositoryrepository) { _repository=repository; } publictaskgettask(longtaskid) { return_repository.get<task>(taskid); } } URL endpoint.svc http//myserver/taskservice.svc GetTask SOAP. GetTask WCF.NET SOAP. WCF SOAP.. WCF ASP.NETMVC WCF.. contract publicclasstaskscontrollercontroller { privatereadonlyirepository_repository; publictaskscontroller(irepositoryrepository) { _repository=repository; } publicactionresultget(longtaskid) { returnjson(_repository.get<task>(taskid)); 4

5 } } ASP.NETMVC.1 ) URL ( ASP.NETMVC hp//myserver/task/get/123 publicclasstaskscontrollerapicontroller { privatereadonlyirepository_repository; publictaskscontroller(irepositoryrepository) { _repository=repository; } publictaskget(longtaskid) { returnrepository.get<task>(taskid); } }. URL Get. WebAPI Controller. REST. ApiController MVC Web API. ActionResult URL.. hp//myserver/tasks/123 Web API. URL Get ( PUT POST GET) HTTP API.. REST URL WebAPI SOAP. REST.. URI

WebAPI ASP.NETMVC REST 6 REST. HTTP REST HTTP SOAP REST API REST. HTTP SOAP GET POST PUT DELETE 4 ) HTTP REST. REST Task ) REST. ( HTTP.( Order Customer User. REST. HTTP REST ( ) ASP.NETMVC MVC REST REST. REST. http//www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm. WCF REST RESTful WCF MVC MVC.. WebAPI 4 resourcecentric

7 ASP.NETMVC.1 MVC WCF URL. (REST URL ) API. URL.svc. API. URL. v2 URL... API ( ) - MVC WCF (ASMX ) XML - 5. ( ASP.NET WCF).... 6 ASP.NET MVC ). ( ). (ActionFilterAttribute. ASP.NETMVC. ( ) debugger. 5 serviceactivation 6 actionfilter

WebAPI ASP.NETMVC 8 REST XML JSON. HTTP REST. REST HTTP DVR ATM HTTP URL.. REST. XML JSON REST. SOAP SOAP. XML SOAP. XML ( ) JSON XML SOAP SOAP.. SOAP SOAP. JSON JSON. SOAP XML JSON.. SOAP WS SOAP. JSON REST SOAP. ( web services WS) 7 REST.. HTTP WebAPI MVC4 WebAPI ASP.NETMVC -WebAPI - MVC. REST MVC4 WebAPI. REST. 7 IdentityFederation

9 ASP.NETMVC.1 8 (POST GET ) HTTP WebAPI CRUD Products. Products Get() /api/products GET URL WebAPI... Get(longid) /api/products/32. DELETE PUT POST 9 JSON MVC - Web API. XML Web API.. XML JSON Accept ContentType HTTP WebAPI.. ( ) JsonResult.( IEnumerable<Product> Product ) [Queryable] OData. OData IQueryable 10. IIS HTTP WebAPI REST. ASP.NETMVC MVC SOAP WCF. REST HTTP. ASP.NETMVC.. JSON REST URL REST Web MVC4 WebAPI. ASP.NET REST API 8 ConventionBasedCRUDactions 9 BuiltInContentNegotiation 10 SelfHosting

RESTful.2. REST API HTTP REST REST. RPC API. API SOAP RPC. REST.. RESTful. REST API... REST. REST. URL RPC. REST REST API. REST API HTTP.. HTTP REST URI HTTP HTTP

WebAPI ASP.NETMVC REST RPC 1. REST 2008. CapabilityMaturity CMMI.. 2 ) ModelIntegration. (. (RESTMaturityModel) RMM REST API REST API RPC API.. RESTful API. 3 1. RESTful. RESTful RMM 2. RMM 2-1. RESTful 3 12 REST 2-1 1 MaturityModel 2 processimprovementapproach 3 http//roy.gbiv.com/untangled/2008/restapismustbehypertextdriven

13 RESTful.2 SOAP XMLRPC. SOAP API API HTTP. HTTP URI. HTTP.. 1. API TaskService WCF SOAP. CreateTask().. GetTask() TaskService. XML TaskService. XML. CompleteTask() SearchTasks() UpdateTask(). XML API - - REST API. RESTful REST API HTTP RESTful URI HTTP (HATEOAS) 4.(2-1 ) TaskService 4 Hypermediaastheengineofapplicationstate

WebAPI ASP.NETMVC RMM 2-1 14 / (WSDL ) (WSDL ) (WSDL ) (WSDL ) (WSDL ) (WSDL ) HTTP POST POST POST POST POST POST URI /api/taskservice.svc /api/taskservice.svc /api/taskservice.svc /api/taskservice.svc /api/taskservice.svc /api/taskservice.svc CreateTask GetTask GetTaskAssignees SearchTasks UpdateTask CompleteTask ) - -..( HTTP URI. ( 456 123 ) URI. URI.. 1. HTTP API.. RESTful.. HTTP.. DELETE PUT POST GET SOAP... ( ).

15 RESTful.2 5 ( )... ).( ). (.. URI... HATEOAS. HATEOS. RESTful. RPC API URI RESTful API 1 6. RESTful. - ( UpdateTask CreateTask ) RPC REST. ( product task ) API. HTTP. HTTP RMM 1 TaskService. REST 2-2.. URI 5 hypermedia 6 resourcecentric

WebAPI ASP.NETMVC RMM 1 2-2 16 / (WSDL ) (WSDL ) (WSDL ) (WSDL ) (WSDL ) (WSDL ) HTTP POST POST POST POST POST POST URI /api/tasks /api/tasks/1234 /api/tasks/1234 /api/tasks /api/tasks/1234 /api/tasks/1234 CreateTask GetTask GetTaskAssignees SearchTasks UpdateTask CompleteTask. /api/tasks URI API. API -. POST HTTP. URI ( POST GET ) HTTP REST HTTP. RESTful. Create. CreateTask HTTP REST.. HTTP GET PUT POST DELETE DELETE GET CreateTask. POST PUT.( ) PUT 2-3 POST PUT URI )

17 RESTful.2 ) POST. (.( URI HTTP 2-3 hp//myserver.com/tasks/1234 URI URI URI URI http//myserver.com/tasks GET PUT POST DELETE. HTTP. REST 7 ( ) REST REST.. HTTP REST ASP.NET. HTTP. HTTP REST 2-3. REST HTTP. URI HTTP HTTP. ) URI 2-3 ) (.( ) HTTP.. REST API (Task URI. 7 representations

WebAPI ASP.NETMVC ( ). PUT 8. URI POST.. DELETE PUT REST.. DELETE PUT.. PUT. PUT.. PUT REST ) (Safe) GET REST GET.(... REST DELETE PUT GET. HTTP. API POST. POST. PUT..( ) PUT. POST. HTTP. API HTTP API..(2-4 ) RMM 2. 18 8 idempotency

19 RMM 2 2-4 RESTful.2 / (WSDL ) (WSDL ) (WSDL ) (WSDL ) (WSDL ) (WSDL ) HTTP POST GET GET GET PUT DELETE URI /api/tasks /api/tasks/1234 /api/tasks/1234 /api/tasks /api/tasks/1234 /api/tasks/1234 CreateTask GetTask GetTaskAssignees SearchTasks UpdateTask CompleteTask URI 1 ) 2. 2-3 POST PUT. HTTP (SOAP XML (XML JSON ).( ). API ( ) HATEOAS.. RMM 3 HATEOAS. GET 2-4 2-3 HTTP REST URI. API URI ) REST. (. GET

WebAPI ASP.NETMVC 20 REST XML. URI <?xmlversion="1.0"encoding="utf8"?> <Tasks> <TaskId="1234"Status="Acve"> <linkrel="self"href="/api/tasks/1234"method="get"/> </Task> <TaskId="0987"Status="Completed"> <linkrel="self"href="/api/tasks/0987"method="get"/> </Task> </Tasks>. URI Tasks. GET. URI URI.. TaskInfo Task. Task TaskInfo. Task. <?xmlversion="1.0"encoding="u8"?> <Tasks> <TaskInfoId="1234"Status="Acve"> <linkrel="self"href="/api/tasks/1234"method="get"/> </TaskInfo> <TaskInfoId="0987"Status="Completed"> <linkrel="self"href="/api/tasks/0987"method="get"/> </TaskInfo> </Tasks> <?xmlversion="1.0"encoding="u8"?> <TaskId="1234"Status="Acve"DateCreated="20110815"Owner="Sally"Category="Projects"> <linkrel="self"href="/api/tasks/1234"method="get"/> </Task>. REST... 100.