Mts 2013 tomasz kopacz - windows 8, office 365, workflow manager, windows azure z odrobiną excela i outlooka - czyli jak budować aplikacje tak, by nie pisać za dużo kodu
Co nowego w VS 2013 dla programistów ASP.NET?Bartlomiej Zass
Sesja z konferencji Microsoft Technology Summit 2013 na temat nowości, które pojawiły się w ASP.NET 4.5.1 oraz Visual Studio 2013 dla web deweloperów. Poruszane zagadnienia to m.in.: zmiany w IDE / Web Essentials, Web Forms, ASP.NET MVC 5, OWIN, SignalR, Web API 2
Omówienie podstawowych wzorców projektowych oraz zasad architektonicznych na przykładzie aplikacji ASP.NET, ale w większości niezależnych od stosowanej technologii. Najważniejsze założenia domain-driven design, SOLID principles, itp.
Prezentacja opisuje różne techniki optymalizacji aplikacji ASP.NET. Omawiane są role poszczególnych warstw wpływających na wydajność - od optymalizacji kodu po stronie klienta (techniki stosowane na poziomie kodu HTML i JavaScript) przez różne poziomy stosowania cache, wybrane ustawienia konfiguracyjne IIS aż po same techniki optymalizacji na poziomie kodu ASP.NET.
Przegląd najważniejszych elementów Windows Communication Foundation (WCF). Od wprowadzenia przez bardziej szczegółowe omówienie koncepcji bindingów, kontraktów, sposobów instancjonowania, obsługi błędów, bezpieczeństwa, itp.
Sps Ottawa 2015: Give your company its own streaming video service with #o365...Nicolas Georgeault
My slidedeck about Office 365 Video Portal and Office Mix. Some details about #Azure Media Services used backend to deliver the video stream. Mix.Office.com video gallery is a very interesting exemple of what Video could be in the future ;)
Co nowego w VS 2013 dla programistów ASP.NET?Bartlomiej Zass
Sesja z konferencji Microsoft Technology Summit 2013 na temat nowości, które pojawiły się w ASP.NET 4.5.1 oraz Visual Studio 2013 dla web deweloperów. Poruszane zagadnienia to m.in.: zmiany w IDE / Web Essentials, Web Forms, ASP.NET MVC 5, OWIN, SignalR, Web API 2
Omówienie podstawowych wzorców projektowych oraz zasad architektonicznych na przykładzie aplikacji ASP.NET, ale w większości niezależnych od stosowanej technologii. Najważniejsze założenia domain-driven design, SOLID principles, itp.
Prezentacja opisuje różne techniki optymalizacji aplikacji ASP.NET. Omawiane są role poszczególnych warstw wpływających na wydajność - od optymalizacji kodu po stronie klienta (techniki stosowane na poziomie kodu HTML i JavaScript) przez różne poziomy stosowania cache, wybrane ustawienia konfiguracyjne IIS aż po same techniki optymalizacji na poziomie kodu ASP.NET.
Przegląd najważniejszych elementów Windows Communication Foundation (WCF). Od wprowadzenia przez bardziej szczegółowe omówienie koncepcji bindingów, kontraktów, sposobów instancjonowania, obsługi błędów, bezpieczeństwa, itp.
Sps Ottawa 2015: Give your company its own streaming video service with #o365...Nicolas Georgeault
My slidedeck about Office 365 Video Portal and Office Mix. Some details about #Azure Media Services used backend to deliver the video stream. Mix.Office.com video gallery is a very interesting exemple of what Video could be in the future ;)
Deep dive into service fabric after 2 yearsTomasz Kopacz
How to use more advanced capabilities built-in into service fabric. How to create scalable and FAST applications. When to choose stateless, statefull and actor services. How to deploy any exe to service fabric.
Samples: https://github.com/tkopacz/2016DeveloperDays
MultiCloud Bursting from Openstack to Windows Azure and Amazon AWS with Righ...bn-cloud
5th Birthday OpenStack SEVILLA at Bitnami - Nicolas Bertet of BN-CLOUD presents:
Cloud Bursting with Rightscale from Openstack to Windows Azure, Amazon AWS
(this presentation was selected for the Paris Openstack Summit in November 2014)
Thank you bogos, Alberto, Bitnami and the Seville Openstack Community!
Happy Birthday Openstack! SEVILLE
Hybrid Cloud, Cloud Bursting, Multicloud with OPENSTACK, Rightscale, Amazon AWS and Windows Azure
BN-CLOUD, an international network of experts in Cloud Computing and Cloud Bursting based on Seville.
Internet Of Things
SENSORS: clothes, devices, environment:
Temperature
Humidity
Luminosity
Acoustic Pollution
Location
Body Temperature, cardiac signal, skin conductance
+ MOBILE, SOCIAL MEDIA => posts, tweets ...
Data continuous emission in real time
4.4 ZetaB => 44 ZetaB
COLLECT
STORE Terabytes Petabytes Scalable
PROCESS ANALYSE CORRELATE DECISIONS
BIG DATA
Risks: Natural, Commercial, Industrial
Phenomenon: Politics, Religious, Social
Environment, Energy
Banking and trading Transactions
Big scientific installations
Augmented and virtual Reality
Blogs
Apps
Social Media
eCommerce
SaaS Product
Social Gaming
Video Streaming
DATA CENTERS
Powerful
Secured
CLOUD COMPUTING
GEOREPLICATION
More Reliable
Complaince
Security
Cloud Strategy:Select the Best Cloud for Each Application
Orgs Know They Need Multi-CloudRIGHTSCALE SURVEY - 2015
PORTABILITY
No Lockin
Compliance
Costs
Rightscale Modules: Self Service Portal, Cloud Management, Cloud Analytics
Rightscale Server Templates
DNS Round Robin, Load Balancer, High Availability, Reliability, Elasticity, Master Slave, Data Replication, Periodic Snapshots, S3, Blog, permanent storage, object storage, blob, drive, cinder, swift, EBS, S3, docker multitier, Disaster Recovery, Cloud Bursting, CPU, RAM, Bandwidth, alerts, vote, arra
Azure paa s v2 – microservices, microsoft (azure) service fabric, .apps and o...Tomasz Kopacz
How to build architecture based on microservices. What is Azure Service Fabric, and how this technology help us to build stateless and statefull services. How to start with actor-based programming. How to use also *.Apps and containers in microservices world. And of course – how to deal with many, many objects and components in our application.
Level: 300 (ok – 200, because I will explain basic concepts – but on the other hands those topic (especially around actors) are quite complicated)
From: http://net.developerdays.pl/
High Performance Processing of Streaming DataGeoffrey Fox
Describes two parallel robot planning algorithms implemented with Apache Storm on OpenStack -- SLAM (Simultaneous Localization & Mapping) and collision avoidance. Performance (response time) studied and improved as example of HPC-ABDS (High Performance Computing enhanced Apache Big Data Software Stack) concept.
Windows 10, internet of things, komunikacja duplex od kabli do odrobiny azu...Tomasz Kopacz
How to build IoT solution - with "duplex" communication, when device(s) will send information to Internet - and Internet will send orders back to device. What is API Contract concept, GpioDecive, SPIDevices, I2CDevices and others. Also: cobbler, few sensor and other electronics components
Language: Polish
Intorducing Big Data and Microsoft AzureKhalid Salama
The purpose of these slides is to give a high-level overview of Big Data concepts and techniques, as well as its related tools and technologies, focusing on Microsoft Azure. It starts by defining what Big Data is, as well as why Big Data platforms are needed. Fundamental components of a Big Data Platform are discussed, followed by a little bit of theory about Distributed Processing & CAP Theorem, and its relevance to how Big Data Solutions compare to Traditional RDBMS. Use case of how Big Data fits in Enterprise Data Platforms are shown. The Hadoop Ecosystem is briefly reviewed before Big Data on Microsoft Azure is discussed. Then some directions of How to get started with Big Data.
This is a run-through at a 200 level of the Microsoft Azure Big Data Analytics for the Cloud data platform based on the Cortana Intelligence Suite offerings.
Unleash the Power of Video Communication - Office 365 Video vs. Azure Media S...Gina Montgomery, V-TSP
Is your organization considering the power of Video Communication? Microsoft provides two options that can assist your organization in Video Communication. The first, robust and fully customizable option, Azure Media Services, allows you to deliver any media, on virtually any device, with the power of the Azure cloud. Microsoft also provides an out-of-the box video portal solution in Office 365 that is built on Azure Media Services and SharePoint Online. Come learn features and benefits of each.
XenServer, Hyper-V, and ESXi - Architecture, API, and Coding_Humair_Ahmed_
XenServer, Hyper-V, and ESXi hypervisor comparison in regards to market share, architecture/installation, and APIs/coding. Technical details, demos, and code provided. Visit my blog at http://humairahmed.com/blog/.
Deep dive into service fabric after 2 yearsTomasz Kopacz
How to use more advanced capabilities built-in into service fabric. How to create scalable and FAST applications. When to choose stateless, statefull and actor services. How to deploy any exe to service fabric.
Samples: https://github.com/tkopacz/2016DeveloperDays
MultiCloud Bursting from Openstack to Windows Azure and Amazon AWS with Righ...bn-cloud
5th Birthday OpenStack SEVILLA at Bitnami - Nicolas Bertet of BN-CLOUD presents:
Cloud Bursting with Rightscale from Openstack to Windows Azure, Amazon AWS
(this presentation was selected for the Paris Openstack Summit in November 2014)
Thank you bogos, Alberto, Bitnami and the Seville Openstack Community!
Happy Birthday Openstack! SEVILLE
Hybrid Cloud, Cloud Bursting, Multicloud with OPENSTACK, Rightscale, Amazon AWS and Windows Azure
BN-CLOUD, an international network of experts in Cloud Computing and Cloud Bursting based on Seville.
Internet Of Things
SENSORS: clothes, devices, environment:
Temperature
Humidity
Luminosity
Acoustic Pollution
Location
Body Temperature, cardiac signal, skin conductance
+ MOBILE, SOCIAL MEDIA => posts, tweets ...
Data continuous emission in real time
4.4 ZetaB => 44 ZetaB
COLLECT
STORE Terabytes Petabytes Scalable
PROCESS ANALYSE CORRELATE DECISIONS
BIG DATA
Risks: Natural, Commercial, Industrial
Phenomenon: Politics, Religious, Social
Environment, Energy
Banking and trading Transactions
Big scientific installations
Augmented and virtual Reality
Blogs
Apps
Social Media
eCommerce
SaaS Product
Social Gaming
Video Streaming
DATA CENTERS
Powerful
Secured
CLOUD COMPUTING
GEOREPLICATION
More Reliable
Complaince
Security
Cloud Strategy:Select the Best Cloud for Each Application
Orgs Know They Need Multi-CloudRIGHTSCALE SURVEY - 2015
PORTABILITY
No Lockin
Compliance
Costs
Rightscale Modules: Self Service Portal, Cloud Management, Cloud Analytics
Rightscale Server Templates
DNS Round Robin, Load Balancer, High Availability, Reliability, Elasticity, Master Slave, Data Replication, Periodic Snapshots, S3, Blog, permanent storage, object storage, blob, drive, cinder, swift, EBS, S3, docker multitier, Disaster Recovery, Cloud Bursting, CPU, RAM, Bandwidth, alerts, vote, arra
Azure paa s v2 – microservices, microsoft (azure) service fabric, .apps and o...Tomasz Kopacz
How to build architecture based on microservices. What is Azure Service Fabric, and how this technology help us to build stateless and statefull services. How to start with actor-based programming. How to use also *.Apps and containers in microservices world. And of course – how to deal with many, many objects and components in our application.
Level: 300 (ok – 200, because I will explain basic concepts – but on the other hands those topic (especially around actors) are quite complicated)
From: http://net.developerdays.pl/
High Performance Processing of Streaming DataGeoffrey Fox
Describes two parallel robot planning algorithms implemented with Apache Storm on OpenStack -- SLAM (Simultaneous Localization & Mapping) and collision avoidance. Performance (response time) studied and improved as example of HPC-ABDS (High Performance Computing enhanced Apache Big Data Software Stack) concept.
Windows 10, internet of things, komunikacja duplex od kabli do odrobiny azu...Tomasz Kopacz
How to build IoT solution - with "duplex" communication, when device(s) will send information to Internet - and Internet will send orders back to device. What is API Contract concept, GpioDecive, SPIDevices, I2CDevices and others. Also: cobbler, few sensor and other electronics components
Language: Polish
Intorducing Big Data and Microsoft AzureKhalid Salama
The purpose of these slides is to give a high-level overview of Big Data concepts and techniques, as well as its related tools and technologies, focusing on Microsoft Azure. It starts by defining what Big Data is, as well as why Big Data platforms are needed. Fundamental components of a Big Data Platform are discussed, followed by a little bit of theory about Distributed Processing & CAP Theorem, and its relevance to how Big Data Solutions compare to Traditional RDBMS. Use case of how Big Data fits in Enterprise Data Platforms are shown. The Hadoop Ecosystem is briefly reviewed before Big Data on Microsoft Azure is discussed. Then some directions of How to get started with Big Data.
This is a run-through at a 200 level of the Microsoft Azure Big Data Analytics for the Cloud data platform based on the Cortana Intelligence Suite offerings.
Unleash the Power of Video Communication - Office 365 Video vs. Azure Media S...Gina Montgomery, V-TSP
Is your organization considering the power of Video Communication? Microsoft provides two options that can assist your organization in Video Communication. The first, robust and fully customizable option, Azure Media Services, allows you to deliver any media, on virtually any device, with the power of the Azure cloud. Microsoft also provides an out-of-the box video portal solution in Office 365 that is built on Azure Media Services and SharePoint Online. Come learn features and benefits of each.
XenServer, Hyper-V, and ESXi - Architecture, API, and Coding_Humair_Ahmed_
XenServer, Hyper-V, and ESXi hypervisor comparison in regards to market share, architecture/installation, and APIs/coding. Technical details, demos, and code provided. Visit my blog at http://humairahmed.com/blog/.
XenServer, Hyper-V, and ESXi - Architecture, API, and Coding
Similar to Mts 2013 tomasz kopacz - windows 8, office 365, workflow manager, windows azure z odrobiną excela i outlooka - czyli jak budować aplikacje tak, by nie pisać za dużo kodu
Silverlight i PHP - jak budować interfejs nowoczesnych aplikacji internetowych?PHPCon Poland
Autor: Michał Żyliński
Projektujesz serwisy lub aplikacje internetowe i czujesz, że popadasz w rutynę? Zobacz, co może zaoferować Silverlight, ninja i czarny koń technologii RIA.
PHP i Microsoft - kto się lubi, ten się czubiPHPCon Poland
Autor: Michał Żyliński
Ja mówię, wy ziewacie – mam szczerą nadzieję, że nie skończy się to typową prezentacją sponsora. Postaram się pokazać gdzie w środku Microsoft spotkać można open source, przedstawić z grubsza aktualne projekty dotyczące bezpośrednio lub pośrednio PHP oraz zachęcić do (spontanicznych) pytań i dyskusji. Taka okazja nie zdarza się w końcu zbyt często!
Asynchroniczny PHP & komunikacja czasu rzeczywistego z wykorzystaniem websock...Polcode
autor: Łukasz Adamczewski, Starszy Programista PHP w Polcode
@lukeadamczewski
Prezentacja 'Asynchroniczny PHP & komunikacja czasu rzeczywistego z wykorzystaniem websocketów' została wygłoszona 17 września 2015 roku podczas 'PHPers Łódź #1', pierwszego spotkania programistów PHP w Łodzi. Firma Polcode miała przyjemność być jednym ze sponsorów tego wydarzenia.
Jak przerobić monolityczną aplikację na architekturę mikro serwisów ?Tomasz Lelek
Tworząc architekturę w oparciu o koncepcję mikro serwisów, przed zespołem staje wiele wyzwań.
-Budowanie łatwo rozszerzalnej architektury mirkoserwisów. Tworząc nowy serwis, zawsze potrzebujemy danych z innego. Aby je otrzymać wystarczy zaimportować lekkiego klienta, który jest interfejsem innego serwisu.
-Jak odpowiednio wykorzystać protokół http, aby zamienić go w swój największy atut i nie próbować ukrywać go niepotrzebnie ?
-które funkcjonalności wyciągnąć jako pierwsze ? Jak wykorzystać domain driven design, do modelowania domeny biznesowej, w sposób specyficznych dla danego mikroserwisu ?
-Jak zarządzać konfiguracją, i deploymentem wielu serwisów ?
-implementowanie wzorca Circuit Breaker, używając biblioteki Netflix Hystrix
Budowa poprawnego i intuicyjnego api REST HATEOAS devfest@2013Mateusz Stępniak
Prezentacja z devfest 2013
http://www.devfest.pl
v.1.0
Allegro.pl
Similar to Mts 2013 tomasz kopacz - windows 8, office 365, workflow manager, windows azure z odrobiną excela i outlooka - czyli jak budować aplikacje tak, by nie pisać za dużo kodu (20)
Pierwsze moje "publiczne" wystąpienie dotyczyło m. innymi pracy z danymi. Na przestrzeni ostatnich kilkunastu lat zmieniło się praktycznie wszystko - od typów pojemników przez styl pracy z danymi, rodzaj budowanych aplikacji itp. Ale - z drugiej strony - wymagania klienta zmieniły się nieznacznie - nadal sporo z nich chce po prostu szybko działającą formatkę, aktualne raporty (najlepiej z danym "z teraz") itp.
W tej sesji przyjrzymy się między innymi:
- ORM-om - na przykładzie Entity Framework 6 i Entity Framework Core
- DocumentDB, Azure Table - jako przykładom innych pojemników, z "eventual consistency" (oby!)
- Koncepcji OData, mikroserwisom oraz SignalR
- Oraz: jak to wszystko połączyć w aplikacji.
Założenie: słuchacze czytają kod C# oraz JavaScript!
Visual Studio – jak zorganizować pracę używając Scrum i GIT?Tomasz Kopacz
Video: https://channel9.msdn.com/Series/Visual-Studio-jak-zorganizowac-prace-uzywajac-Scrum-i-GIT
Jednym z najważniejszych czynników zapewniających właściwą jakość oprogramowania jest proces wytwórczy. W tym materiale pokażę w jaki sposób przy użyciu Visual Studio Team Services (dawniej Visual Studio Online) albo Team Foundation Services zainstalowanego na własnych maszynach zorganizować pracę zespołu programistów. Przyglądam się bliżej o co chodzi w ALM i DevOps, omawiam (krótko niestety) jak to funkcjonuje w środku Microsoft. Rozważania oparte są o metodykę Scrum i wbudowane w VSTS repozytorium GIT. Zaczynamy praktycznie od początku – od wyjaśnienia podstawowych założeń metodyk agile, przez konfigurację VSTS a potem – krok po kroku przechodzimy przez przykładowy proces wspierający budowę trywialnej aplikacji Webowej.
Overview (level 100) of different solutions which can be build using Visual Studio. Not a complete list of course! Video: https://channel9.msdn.com/Series/Do-czego-uy-Visual-Studio
Tomasz Kopacz MTS 2012 Azure - Co i kiedy użyć (IaaS vs paas vshybrid cloud v...
Mts 2013 tomasz kopacz - windows 8, office 365, workflow manager, windows azure z odrobiną excela i outlooka - czyli jak budować aplikacje tak, by nie pisać za dużo kodu
3. Windows 8, Office 365, Workflow
Manager, Windows Azure z odrobiną
Excela i Outlooka - czyli jak budować
aplikacje tak, by nie pisać za dużo kodu
Tomasz Kopacz
Architekt, Microsoft
4. Cel sesji
Oszczędność czasu przy pisaniu aplikacji
Nie opis „jednego” rozwiązania
To znaczy – będzie jedno, ale WIRTUALNE z różnymi kawałkami
Ps.
Rozważania W8 = Rozważania WP8
Z konieczności nie schodzimy do bardzo dużych szczegółów
5. Plan prezentacji
Obszary
Usługi (generalnie)
Dane - podkategoria
Autoryzacja
Usługi (cz II) - Usługi w Azure
Workflow
Powiadamianie
Założenia odnośnie wiedzy słuchaczy:
Ogólne obycie w technologii Microsoft i programowaniu .NET
6. Co będzie używane?
Office 365 – Exchange + SharePoint + autoryzacja
I Windows Azure Active Directory
Serwer(y) Azure
VM (IaaS)
Kontroler domeny – tu TKDC.local, jako 10.4.3.4 + DNS, głównie
SQL Server (może być z AlwaysOn, ale – to dobrze znane)
Windows Server AppFabric / Workflow Manager (lepiej na oddzielnej maszynie); dokładniej 3 – failover
Cloud Services – background processing i frontend + przepis na skalowanie
Dołączone do domeny (łatwiej śledzić)
Web Sites – frontend (REST + WWW); też się skalują
Service Bus i Notification Services
Excel – statystki i podsumowania, raporty …
Lync / Exchange (Outlook) – zadania dla użytkownika
Windows 8 – specjalizowana aplikacja
8. Opcje usług (realne)
WebAPI
Oparte o REST
Ściśle związane ze stosem HTTP
OWin – też dowolny hosting
Brak formalnych metadanych
Ale strona /help
JSON / XML / po prostu binarny
strumień w HTTP
Odata – tu na życzenie są
metadane!
Ostatnia aktualizacja – tydzień
temu
WCF
SOA
Enterprise Services
COM+
Dowolnych hosting (ma własny
stos komunikacyjny)
Może mieć binding REST
Automat WCF Data Services
Ostatnia duża aktualizacja – 4.0
4.5 – tooling, WebSocket
9. Z czego składa się R E S T
Klienta, który inicjuje połączenie do serwera
Serwera, obsługującego żądanie i zwracający określony wynik
Zasób, czyli coś, na czym usługa pracuje. Może to być obiekt,
domena biznesowa, encja w bazie, workflow, …
Reprezentacja, czyli dokument opisujący stan zasobu (URI, ciało
POST itp.).
10. Co to to REST
GET
POST
http://a/cust/5 Zwraca klienta o id = 5
http://a/prod/ Zwraca produkt o id=6
6
http://a/cust
Zwraca kolekcję
klientów (zwykle
stronicowanie)
http://a/cust/1 Dodaje klienta o id =1
(w ciele POST) i danej wartości
Idemp?
GET
Znaczenie
Bezp?
URI
Opis
GET
Zwraca reprezentację danego zasobu. Nie
powinna być wykonywana żadna inna
czynność
POST
Wysyła dane do przetworzenia Dane są
zawarte w ciele żądania (jak w przypadku
formularzy HTML)
Tak
PUT
Modyfikuje zasób wgrywając nowe dane.
Każde kolejne wywołanie tego polecenia w
identyczny sposób zmienia stan zasobu.
Tak
DELETE Usuwa dany zasób.
Tak
PUT
http://a/cust/1 Aktualizuje klienta o
id=1
DELETE http://a/cust/1 Kasuje klienta o id=1
PATCH
Tak
Modyfikuje część zasobu (dla porównania –
PUT zastępuje cały). RFC 2789, 2010r;
HEAD
Pobiera elementy nagłówka. Metadane.
16. Jak to działa?
GETJSON
~/Products(6)
POST ~/Products
JSON
DELETE ~/Suppliers(5)
ATOM
OData API
Metadane
PUT ~/Suppliers(4)
JSON
HTTP
GET ~/Products?$filter=Rating eq 3
GET ~/Categories(4)/Products
HTTP
Współpraca
(urządzenia i
platformy)
Metadane
Formaty (XML /
JSON)
Semantyka REST
(GET/PUT/POST/DELETE)
Konwersja URI i
język zapytań
17. Wykorzystanie OData w .NET
(System.Net.Http)
var client = new HttpClient();
client.BaseAddress = new Uri("http://localhost:50310/");
var res = client.GetAsync("odata/buildings").Result;
(HttpContentExtension!)
var buildings = res.Content.ReadAsAsync<ODataResult>().Result;
(JSON.NET w WinRT)
var result = await client.GetAsync(new Uri("..."));
var longString = await result.Content.ReadAsStringAsync();
ComplexNumberForView[] obj = await
JsonConvert.DeserializeObjectAsync<ComplexNumberForView[]>(longString);
18. Budowa OData
WebApi OData
Implementuje się usługi OData
mówiąc co się dzieje
Budowa modelu, formatery,
(JSON/XML), ścieżki i kwerendy,
parsery, generatory LINQ,...
Więcej pracy, działa tak jak
chcemy
Wykorzystuje ODataLib
$select, $expand, $batch! W 3.0
Tu warto zerknąć!
Portable HTTP Client
WCF Data Services (5.6)
„Dziedziczenie z Entity
Framework”
Pełny automat
Intercepcje
Własne polecenia
Pasuje OK albo nie używać
Wykorzystuje ODataLib
(na dziś – BARDZIEJ
DOJRZAŁE!)
V5.6
Portable HTTP Client
20. Odata w Web API
public class AddressController : EntitySetController<Models.Address,int>
{
Models.AdventureWorks2012Entities ent = new Models.AdventureWorks2012Entities();
public override IQueryable<Models.Address> Get() {
return ent.Address;
}
protected override Models.Address GetEntityByKey(int key) {
return ent.Address.Where(p=>p.AddressID ==key)
.FirstOrDefault();
}
protected override int GetKey(Models.Address entity) {
return entity.AddressID;
}
}
23. Autoryzacja?
Było prosto
Komputery w domenie
Policy i uprawnienia dla użytkowników
W pełni kontrolowany VPN / DA / …
Komputery własnością pracodawcy!
Jest
Auć. Trend „Konsumeryzacja”
Czyli: dowolne urządzenie w dowolnym miejscu przez dowolną sieć chce
pracować z wrażliwymi informacjami….
24. Podejście proste – „hasło”, certyfikat, …
Wszędzie: Własny IHttpModule
Dotyczy: potoku w IIS
WebApi: Własny ActionFilter
(WCF:UserNamePasswordValidator i inne – Common Security
Scenarios)
(dowolny provider autoryzacji)
27. OAuth
RFC 5849 - The OAuth 1.0 Protocol
RFC 6749 - The OAuth 2.0 Authorization Framework
OAuth to warstwa autoryzacyjna oddzielająca:
Resource owner (właściciel zasobu, daje token „tożsamości”)
Authorization server (dla tokenu tożsamości daje token dostępu)
Resource server (dla tokenu dostępu daje … to co ma dać)
Token JWT (System.IdentityModel.Tokens.Jwt)
Tak naprawdę wszystkie mechanizmy około OAuth bazują na jakimś tokenie
OAuth 2: Bearer + formalne odświeżanie dostępu
Walidacja i konwersja na claimy (takie „ciasteczko autoryzacyjne”, tylko
claimowe)
28. Przykład: Komunikacja Web i SharePoint
OAuth zabezpiecza komunikację
SharePoint & web ufa trzeciej stronie (tu
ACS)
Zaufanie się opiera na ClientId &
ClientSecret
SharePoint & ACS znają ClientId
Web & ACS znają ClientSecret
Przepływ tokenów
1. SharePoint pobiera token kontekstu ACS i
przekazuje do aplikacji web
2. Aplikacja Web waliduje token kontekstu z
ACS i dostaje z powrotem token dostępowy
3. Token dostępowy jest używany do
komunikacji z SP
29. Serwery OAuth 2.0
1. Własne (… ciekawe zadanie...)
Prosty serwer authz jako klasa we wzorcu Single Page Application w VS 2013
W przyszłości - Authz server w OWIN (patrz sesja Bartłomieja Zassa)
2. Istniejący <- lepiej
Windows Azure Active Directory
Active Directory Federation Services w Window Server 2012 R2
Live ID, (Facebook/twiter/…
30. Windows Azure Active Directory
Synonimy:
WAAL
AAL
ADAL
Biblioteka
Active Directory Authentication Library
Windows Runtime (WinRT)
System
Synchronizacja
AAL for Windows Store
.WINMD
Aplikacja
JS/HTML5
Windows
Store App
C#
Windows
Store App
OS
31. Windows Azure Authentication Library
AuthenticationContext aCtx =
new AuthenticationContext("https://login.windows.net/contoso.onmicrosoft.com");
AuthenticationResult result =
await authorizationContext.AcquireTokenAsync("http://host.com/shipmentservice",
clientID);
Potem:
var httpClient = new HttpClient();
httpClient.DefaultRequestHeaders.Add("Authorization", result.AccessToken);
…
httpClient.DefaultRequestHeaders.Authorization =
new AuthenticationHeaderValue("Bearer", result.AccessToken);
35. A Windows 8?
(stowarzyszone konto Microsoft = automatyczne OAuth w aplikacji)
(Live SDK – de facto dostawca OAuth – jak (W)AA(D)L)
Credential Locker
Web Authentication Broker
(Mobile Services)
36. Credential Locker - Największa zaleta
API do bezpiecznego
przechowywania tożsamości
użytkownika
Pod spodem – Data Protection
API
Izolacja
Roaming
Desktop PC
My Photo App
Sky Drive
(Microsoft
Account)
Tablet PC
My Photo App
37. Pomocniki – Web Authentication Broker
WinRT API do podłączania się do dostawców online, jak Facebook,
Twitter przy wykorzystaniu protokołów takich jak OpenID czy OAuth
Single sign-on dzięki WebAuthBroker
Aplikacja musi się na to zgodzić (użyć API)
38. Jak działa SSO
https://contoso.com
Contoso weryfikuje redirect URL dla appsa
(MyPhotoApp zarejestrowane ms-app://S-1-54321)
https://contoso.com?ContosoAppID=MyPhotoApp
,
redirectURI=ms-app://S-1-5-4321,…
SID: S-1-5-4321
MyPhotoApp
User Mode (App Container)
Kernel Mode
User Mode (Medium)
40. Dygresja: inne spojrzenie
CO użytkownik może
zrobić z danymi w danej sytuacji / urządzeniu / sieci!
Nie zabezpieczamy dostępu, ale to,
Microsoft RMS SDK 3.0
for Windows Store
45. Usługi w Azure
Azure VM
Cloud Services
• Win/Linux/Oracle Web
Logic/…
• SLA: 99.9% (1VM)
• Można Availability Set
• Dowolny stos
aplikacyjny
• Skalowanie wymaga
klonowania maszyn
• Update po stronie
klienta w 100%
• Ostrzeżenia mailowe o
planowanych restartach
• Debugowanie:+++
• To co się zainstaluje na
Win
• .NET / PHP / Node.JS /
Ruby / Python / Java
• 99.95% / 99.5% (2VM)
• Traffic Manager –
wyższe
• Debuggowanie: ++
Web Site
•
•
•
•
HTTP / HTTPS
REST / SOAP
.NET / PHP / Node.JS
Debuggowanie:+
Mobile Services
• REST
• Pisane w JavaScript
• (expressJS z Node.JS)
• Gdy potrzebny pojemnik
na dane dla urządzeń
mobilnych
• Debuggowanie: – (auć)
47. Dane – jak i gdzie?
Oczywistość:
Azure Storage – binarne, rysunki, może NoSQL
SQL Database – to co ma relacje
Mobile Services – gdy ważna prostota
Office 365 – też pojemnik!
SkyDrive (Pro)
Yammer i inne – także
Lista Sharepoint!
Dygresja: Cassandra na Linux na IaaS, MongoDB, ….
48. OData i „infrastruktura”
(Powód: każdy pojemnik wolniejszy niż RAM)
Cache
Po stronie usługi – Azure Cache Services
Dowolny server proxy po drodze
Cache-control, opcje: PUBLIC | PRIVATE | NO-CACHE | NO-STORE oraz max-age=3600
Pragma: no-cache ze strony klienta + cache control – że chce informację świeżą!
Klient
JavaScript / XML – zapisać, wczytać
Cache w słowniku wg parametrów wywołania itp.
49. Demo 06
(Debuggowanie usług na Azure – też dotyczy profilowania / ETW)
Praca z danymi – W8 i Odata
Pokazać CACHE!
Praca z danymi – W8 i Sharepoint
Praca z OLAP – W8 + Rest + SQL Server
Mobile Services – DANE i API, z autoryzacją i powiadamianiem
51. Opcje
Pytanie: JAKA CZĘŚĆ WORKFLOW
PO STRONIE KLIENTA!
(Też: własny kod (.NET + SQL))
Workflow Foundation (SDK w .NET)
Motor realizujący procesy | Komunikacja: SOAP (WCF), REST
AppFabric – hostuje Workflow Foundation
Workflow Manager (SDK w .NET)
Zarządza przepływami + komunikacja przez Service Bus
Komunikacja z Service Bus – REST
Kolejki, tematy, subskrypcje na komunikaty o danych cechach (właściwościach)
Sharepoint 2013 / Office 365(produkt)
BizTalk Server 2013 (produkt) / (też w Azure VM (IaaS))
52. AppFabric i Workflow Manager
Workflow Manager
Podstawa Workflow Foundation
Definicja procesu w XML /
Graficznym designerze /
dynamicznie w kodzie.
Diagram sekwencyjny, diagram
stanu, Flowchart
Aktywności, zmienne, reguły, …
Trwałe procesy zapisywane do
SQL
Komunikacja przez JEDNO Web
Services
Service Bus rozdziela komunikaty
AppFabric
Podstawa Workflow Foundation
Definicja procesu w XML /
Graficznym designerze /
dynamicznie w kodzie.
Diagram sekwencyjny, diagram stanu,
Flowchart
Aktywności, zmienne, reguły, …
Trwałe procesy zapisywane do
SQL
Hostowanie plików XOML
Każdy z Workflow jest niezależną
usługą
53. Sharepoint
Wykorzystuje Workflow Foundation i Workflow Manager
Dodaje gotowy interfejs użytkownika
Biblioteka (lista) ->Workflow -> Zadania
Ps. Lista zadań może być też na Exchange – automatyczna synchronizacja z
Outlook
Czasami nie trzeba nic programować!
54. DEMO 07
W8 – klient + AppFabric Workflow
(W8 klient) + Lista + Office 365 + Workflow Manager
Office 365 – Workflow „klasyczny”
Office 365 – Workflow z własnym XAML-em (no – XOML-em)
Office 365 – Workflow z własnym kodem (przez zamachanie
rękoma)
Office 365 – Powiadamianie na zewnątrz o zmianach (przez
zamachanie rękoma) – Remote Event Receiver
55. Dane i Excel
Workflow, dane, postęp procesu - zawsze trzeba zrobić „ładny
wykres”
Można pisać do tego aplikację
Ale, jak użyjemy OData, to
Power Query do Excela jest narzędziem pozwalającym podglądać stan / dane
56. DEMO 08 – Excel i OData
Excel jako klient do podglądania postępu prac
58. Opcje - powiadamianie
Gdy działa aplikacja
WebSocket
(SignalR)
Service Bus(kolejka)
Gdy aplikacja nie działa
Control Channel Trigger – najmniejsze opóźnienia
Push Notification
Mobile Services | Notification Hub
Lync
Chat Facebook
Chat Yammer (to taki Facebook ale prywatny, też część darmo)
Jest jeszcze SMS!
59. Azure Notification Hub
„High Scale” - pośrednik w
dostarczaniu powiadomień
Windows 8 | Windows Phone
Apple | Google
Shared Access Key
Shared Access Policies
Szablony
Tagi
Zarządzanie rejestracjami
61. Dygresja: A może CQRS + SMS?
Workflow | CQRS
Baza nie ma stanu „aktualnego”
Klient (mobilny) musi wiedzieć że
coś zaszło
De facto – zapis do kolejki = wykonanie
operacji (tylko kiedyś)
SMS-em potwierdzam – tak, zlecenie
wykonanie
(np.) Twilio
SMS wiarygodny
VMS + Test to Speech
…
62. Natychmiastowe powiadamianie W8
(Problem – aplikacja nie działa cały czas!)
Push Notification
„WNS does not guarantee the reliability or latency of a notification”
Co to znaczy: opóźnienia do 15 minut
Technicznie – teraz – do kilku sekund
Control Channel – reakcja na komunikat który przychodzi po TCP
Background Task który monitoruje kartę sieciową (Connected Standby)
I zmienia flagę / wysyła LOKALNIE powiadomienie że coś się zdarzyło!
(nic nie robi – bo nie ma jak)
Używane protokoły (StreamSocket, MessageWebSocket, StreamWebSocket)
HTTP (lepiej nie)
XHTTPRequest (AJAX)
WebSocket (najwygodniejsze)
63. Demo 10
Demo - Video (przepraszam, tam jest trochę czekania)
66. Dlaczego zadania w Outlook
Boo… siedzą tam inne zadania
Outlook i tak najpopularniejszy klient pocztowy używany w biznesie.
Taski, kalendarz, …
Podstawa – Exchange Web Services
Ps. Oczywiście zadania może też dodawać do Sharepoitnt
Link Sharepoint – Outlook
Strona My Task na Office365 z listą wszystkich zadań
69. Mapa (słowna) – co do czego
Bezpieczeństwo = OAuth i pochodne
RMS – gdy zabezpieczamy ZASÓB a nie dostęp do zasobu
Dane – to nie tylko klasyczne pojemniki
Mobile Services, Yammer, Lista Sharepointa…
Usługi – raczej REST / ODATA – pytanie co to zasób!
Azure | Model Azure | Azure Pack
W8 – nie tylko klient. Też offline
Workflow – sporo gotowych rzeczy; trzeba tylko użyć
Powiadamianie – bardzo ważne
Nie zapominać o tym co używa użytkownik
Sharepoint = obieg dokumentów + środowisko pracy
Lync, Task w Exchange
70. Wypełnij ankietę i wygraj nagrody!
Organizatorzy MTS czytają
wszystkie ankiety.
Wystarczy 5 minut Twojego czasu
na wypełnienie ankiety!
Dzięki nim masz realny wpływ
nakonferencję oraz merytorykę
i prelegentów kolejnego MTS.
Masz szansę wygrać m.in.
wejściówkę na MTS 2013 (25x)
oraz inne nagrody.
Gdzie i jak?
Ankiety dostępne są online – na stronie konferencji (konferencjamts.pl)
Można je wypełnić od dziś, aż do 11 listopada 2012