Distribution af funktionalitet Webservice med WCF x.

Slides:



Advertisements
Lignende præsentationer
SharePoint Codecamp. SharePoint Bruger Gruppe  Intro til dagen, Anders.  Authentication i forbindelse med Apps – Oauth, Low trust/High trust, Mads.
Advertisements

SPBG.  Test driven development  Unit test frameworks  MOSS TDD  Mocking  Design patterns.
Velkommen til Softwarekonstruktion
C# introduktion. using System; Namespace MyFirst { class eks1 { public static void Main() { Console.WriteLine("Hej!"); Console.Write("Skriv dit navn her:
Introduktion til sikkerhed i.NET Mark S. Rasmussen iPaper ApS Part 2.
Atlas/Otto Knudsen 1 "Atlas"  AJAX Extensions til ASP.NET.
Når en applikation går i fejl… … er det interessant, at vide noget om: Hvornår gik applikationen i fejl Hvilken applikation gik i fejl Hvad er fejlen.
Februar 2005Sprog-nyheder i C# og VB1 Captator Tlf: Henrik Lykke Nielsen Softwarearkitekt, Microsoft Regional Director for Denmark.
Microsoft Windows.NET Compact Framework Niels Hilmar Madsen Developer & Platform Strategy Group Microsoft Danmark.
C#: Data Typer. Indhold: “.NET is designed around the CTS, or Common Type System. The CTS is what allows assemblies, written in different languages, to.
Sikkerhed/Otto Knudsen 1 Diagnostics  Debug af web-applikationer.
SMALL BUSINESS er BIG BUSINESS ISA Workshop Rico Raja, Technology Specialist Brian Thumann Madsen, Senior Executive Consultant.
B.V. Electronic Østerbro Skive GuideOnLine.
Web Services Protokoller og Arkitektur
Distribueret programmering, specielt Web Services Rasmus D. Lehrmann DM
Array og ArrayList Et slideshow. Som er sødt.. Hvordan virker ArrayList?  ArrayList NAVN = new ArrayList ();  NAVN.add(”Værdi”);  NAVN.add(index, ”værdi”)
Cell ● Cell er implementeret vha. intermediate state transfer ● State der skal overføres – Værdi referencen – Delta af versionerne af de værdi-orienterede.
1 JavaServer Faces Copyright © Lund & Bendsen Dynamikken i JSF.
C#: Udtryk og metoder. Indhold “With regards to programming statements and methods, C# offers what you would come to expect from a modern OOPL…” Udtryk.
Datastrukturer og Collections Oversigt og forskel imellem Jave og.net Collections library Collection interfaces ArrayList IList interface Hashtable Hashtable.
06 – Java Packages Packages og ClassPath. 2 NOEA2009Java-kursus – Packages og class path Hvad er Packages? En package er en gruppering af relaterede typer.
Distribueret programmering, specielt.NET Remoting Rasmus D. Lehrmann DM
View Procedures Trigger og Function Jesper Tørresø DAB1 E07 1. november 2007.
DotNET Remoting Præsentation. Beskrivelse af arkitekturen i et dot NET program. Hvad er en Proxy. Klient, server og host begreberne. Marshaling. Eventuelt.
Objekter og klasser Applikationsdesign Code Namespace Value og reference typer Reference type Rasmus D. Lehrmann1.
Distribueret programming.Net Remoting Hvorfor remoting Marshalling metoder Marshalling modeller MBR Marshalling modeller MBV 1Rasmus D. Lehrmann.
Selected Partner Network briefing – d. 17. september 2008 How to Sell? Licensiering Jon Meldgaard Hansen - LMM, SMS&P How to Sell – september 2008.
Tietgen Skolen Trick med facadeklasse og serialisering ”Trick” – model ”samles” til eet overordnet objekt Alle klasser i model skal have attriutten [Serializable]
WCF service Hostet på website x. Opret tomt web applikations projekt.
Tråde og synkronisering. Tråde To typer tråde Dedikerede tråde -programmør opretter og tilknytter metode -”kører tråd-metoden (job) én gang” Tråd pulje.
ASP.NET Cache, State DataGrid og Diagnostics. Agenda – ASP.NET Cache, State og Cookies ( 1 del ) –Cache –Static member –Application State –Session State.
Introduktion til.NET- platformen og version 2.0 Michell Cronberg Microsoft MVP
Introduktion/Otto Knudsen 1 Overblik WebForms ASP.NET.
Distribution af funktionalitet Webservice med WCF x.
Webserveren kan afvikle flere applikationer, der hver har deres eget selvstændige ”liv” og hukommelse. Den enkelte applikation består typisk af flere elementer.
Web service - elementer SOAP (Simple Object Access Protocol) WSDL (Web Service Description language) UDDI (Universal Description, Discovery and Integration)
Web service - elementer SOAP (Simple Object Access Protocol) WSDL (Web Service Description language) UDDI (Universal Description, Discovery and Integration)
ASP.NET Custom Web Controls Deployment. Agenda – ASP.NET Web User Controls Composite Control Rendered Custom Control Deploy en Web Applikation.
Abstrakte klasser og interfaces i Java
Object-Orienteret Programmering og Design Kilde: Joe Hummel.
Presentation 27: Comparison of technologies Objektorienteret Middleware.
Programering af mobile enheder Windows Phone Storage.
WebservicesWebservices Henrik Westergaard Hansen
Henrik Westergaard Hansen ISV Developer Evangelist Microsoft
Enterprise Strategy Program
Begreber og Redskaber 9. Plan for idag I dag: Datastrukturer Tabeller Lister, mængder, maps, grafer Hægtede lister.
Session Når man hoster en WCF Service på ASP.NET website, kan man bruge ASP.NET’s Session.
Gruppe sort Morten, Peter, Jesper, Spencer & Støving.
Begreber og Redskaber 5. Collections i Java 1.2 Framework: samling af datastrukturer og algoritmer som generelt værktøj. En ramme til at arbejde med søgning.
Begreber og Redskaber 5. Plan for idag Overblik over klasser,objekter,nedarvning –Repetition fra Dat A/Indledende programmering –Centrale begreber om.
Distribueret programming, specielt Web Services Forskel på.Net og web Forsigtig med arkitektektur SOAP - Simple Object Access Protocol Rasmus D. Lehrmann1.
ALEPH og XML. eLib Seminar 18 – 19 november 2004 ALEPH og XML Status  Print system arbejder med XML lignende mellem filer.  Færdige printfiler kan gemmes.
1..NET Arkitektur. Mål “Microsoft.NET is based on the Common Language Runtime (CLR) and an extensive set of Framework Class Libraries (FCL). The CLR defines.
Lektion 7 Læsestof: Kopier fra Caranno
Heterogene distribuerede middlewareteknologier Web Services og Ice.
Webserveren kan afvikle flere applikationer, der hver har deres eget selvstændige ”liv” og hukommelse. Den enkelte applikation består typisk af flere elementer.
Masterpages/Otto Knudsen 1 Navigation på webstedet Kontroller til navigation mellem siderne på webstedet.
10. Datastrukturer. 2 Nordjyllands Erhvervakademi Collections library Datastrukturer i.NET kaldes normalt Collections Findes i namespace System.Collections.
Repetition: Introduktion til OOP med C# og .NET
8 RÅD VEDRØRENDE GOD PROGRAMMERING Effective (brown) Java.
Uge 14: distribuerede objekter, fjernprocedurekald, RMI Tirsdag: Introduktion Mulige fordele ved distribuerede objekter Introduktion til RMI: - Interfacets.
Fremstilling af Simple WEB steder [ITPL] Foråret 2004
Webserveren kan afvikle flere applikationer, der hver har deres eget selvstændige ”liv” og hukommelse. Den enkelte applikation består typisk af flere elementer.
ASP.NET – web site publish. ASP.NET – site-version.
Data access i Silverlight 2.0
Web Services. OO (C++/ C#/Java) COM DCOM Web Services.
Web services SOA, SOAP og WSDL. Disposition Inledning / Definition SOAP Standard SOAP Beskeder WSDL.
WebApi service part 2 Routning og Action Simpel test-client (javascript) Session og Application data.
WebApi service x.
Simpel test-client (javascript) Session og Application data
Præsentationens transcript:

Distribution af funktionalitet Webservice med WCF x

Different technology combined to form WCF.

ASP.NET - 1 tier distribution

ASP.NET - 2 tier distribution

ASP.NET - n tier distribution

Webservice - SOAP

Remoting – arkitektur Server og klient er begge.NET Generel arkitektur –Proxy, stub, formattering og channel kan ændres. Fx er en binær formattering, der både understøttes af TCP og HTTP, mere effektiv end en tekstbaseret (XML) Client proxy remoting formatter Server stub remoting formatter listener channel

Remoting service - muligheder Server-activated object (SAO) også betegnet ”Wellknown objects” –Singleton: Ét serverobjekt til alle klienter Trådproblemer –SingleCall: Ét objekt pr. metodekald Nemmeste løsning; men mindst effektivt Tilstand opretholdes vha. filer eller database Client-activated object (CAO) –Activated: Ét objekt pr. klient Levetidsproblem – Leasing understøttes ikke af IIS

Windows Communication Foundation Architecture

Hosting WCF Side-by-Side with ASP.NET

WCF understøtter de 3 state senarier Se evt. også for en anden info om disse 3 på

WCF host og protokol Wcf kan som remoting (singleton og singlecall) integreres i et asp.net web og afvikles på IIS’en, hvor wcf desuden kan opnås tilgang til ASP.NET’s Session, Application objekter m.m. Wcf kan anvendes uden for ISS’en med andre protokoller end http. Wcf kan understøtte fx json og ikke kun soap, hvilket ikke let opnås med ASP.NET webservices (den gamle teknologi)

WCF data protokoller Med REST protokollen kan også kommunikeres med ”ren” XML

WCF brug Service defineres som ServiceContract på interface / klasse der skal fungere som service- object, hvor metoder der skal være tilgængelige externt defineres som OperationContract’s Transport-objekter defineres som DataContract og felter/property der skal med som data som DataMember’s. Wcf kan understøtte fx json og ikke kun soap, hvilket ikke let opnås med ASP.NET webservices (den gamle teknologi)

Normalt vil man definere kontrakten på et Interface, men kan også definere denne på selve klassen, hvis man ikke ønsker et interface using System.ServiceModel.Web;// indeholder ServiceContract og OperationContract klasserne ……….. namespace MyNamespace { [ServiceContract]// Attribut på interfacet public interface IService1 { [OperationContract]// Attribut på metoder der skal kunne tilgås via servicen (proxyen) string GetData(int value); Hvis der skal anvendes session på servicen under en WcfServiceApplication (kan ikke bruges på ASP.NET – website under ISS) skal ServiceContract’en tilføjes parametre og den ser således ud: [ServiceContract(SessionMode = SessionMode.Required)] Interface med kontrakten

using System.ServiceModel; ………. namespace MyNameSpace { //Default laves et nyt service-objekt for hvert kald, men det kan ændres //[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall)] // Default //[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single)] // Husk at trådsikre //[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerSession)] // Kræver wsHttpBinding public class Service1 : IService1 { public string GetData(int value) { return string.Format("You entered: {0} ", value + count, s); } Tilhørende markeup Service1.svc file, der giver bindingen til service1: Bemærk: PerSession på Wwbserver(IIS) kræver wsHttpBinding og kræver ekstra tilpasning af web.config Implementeringsklassen for kontrakten

Hvis der skal overføres sammensatte objekter (altså ikke simple typer, string og array) så skal disse kunne serialiseres – dette skal ske med brug at en DataContract – tidligere kunne man anvende [Serializable] – på Webservice ville kun blive overført public felter og public property, svarende til en XML serialisering. using System.Runtime.Serialization; [DataContract]// klasse kan serialiseres public class CompositeType { [DataMember]// felt skal med bool _boolValue = true; string _stringValue = "Hello "; [DataMember]// property skal med public int EnInt {private get; set;} Data transport objekter (DTO)