Part 4 of tutorials at DC2008, Berlin. (International Conference on Dublin Core and Metadata Applications). See also part 1-3 by Jane Greenberg, Pete Johnston, and Mikael Nilsson on DC history, concepts, and other schemas. This part focuses on practical issues.
These slides were presented by Dan Gillean at the first ever AtoM Camp, held at the SFU Harbour Centre in Vancouver, BC, Canada, March 20-22, 2017. For more information on the Camp, see:
https://wiki.accesstomemory.org/Community/Camps/SFU2017
These slides introduce some of the primary Command Line tasks available in Access to Memory (AtoM), which can be used to support site maintenance and troubleshooting. For further information on AtoM CLI tasks, see:
* https://www.accesstomemory.org/docs/latest/admin-manual/maintenance/cli-tools/
* https://www.youtube.com/playlist?list=PLZiwlG5eSMeyeETe15EsEBSu5htPLK-wm
The CLI tasks introduced in these slides are based on the 2.4 AtoM release - some tasks or task options may not be available in earlier releases; tasks may be changed in future releases.
Part 4 of tutorials at DC2008, Berlin. (International Conference on Dublin Core and Metadata Applications). See also part 1-3 by Jane Greenberg, Pete Johnston, and Mikael Nilsson on DC history, concepts, and other schemas. This part focuses on practical issues.
These slides were presented by Dan Gillean at the first ever AtoM Camp, held at the SFU Harbour Centre in Vancouver, BC, Canada, March 20-22, 2017. For more information on the Camp, see:
https://wiki.accesstomemory.org/Community/Camps/SFU2017
These slides introduce some of the primary Command Line tasks available in Access to Memory (AtoM), which can be used to support site maintenance and troubleshooting. For further information on AtoM CLI tasks, see:
* https://www.accesstomemory.org/docs/latest/admin-manual/maintenance/cli-tools/
* https://www.youtube.com/playlist?list=PLZiwlG5eSMeyeETe15EsEBSu5htPLK-wm
The CLI tasks introduced in these slides are based on the 2.4 AtoM release - some tasks or task options may not be available in earlier releases; tasks may be changed in future releases.
These slides accompanied a presentation by Dan Gillean and Sara Allain of Artefactual Systems, delivered as part of AtoM Camp Cambridge, a three-day boot camp held at St John's College, Cambridge University, May 9-11, 2017 For more information, see:
https://wiki.accesstomemory.org/Community/Camps/SJC2017
In this session, Dan Gillean covered some of key considerations when preparing to migrate data from a legacy source system into AtoM. The slides cover the steps involved, paying specific attention to AtoM's data model and behaviors that should be considered when preparing your data for import into AtoM.
Ontology for Knowledge and Data Strategies.pptxMike Bennett
Ontology suffers from an adoption problem. If we are to describe the benefits of ontologies and knowledge graphs, we need to demonstrate how these can contribute to the business. That means addressing the knowledge and data management strategies of the organization.
A knowledge management strategy addresses a range of concerns, including terminology, business semantics, data provenance and quality, information availability and a rigorous treatment of context. Ontology is just one tool among many in the overall strategy for managing knowledge assets and their use.
In this seminar we will unpack the components of an organizational knowledge strategy and show in terms that both business and IT can understand, how different types of ontology fit in to the firm’s wider data management and knowledge strategies, alongside a range of other tools and techniques.
Attendees do not need any prior knowledge of ontology, knowledge graphs or semantic technology, but should ideally have an appreciation of data and knowledge management issues.
Mike Bennett's presentation on Ontology for Knowledge and Data Strategies, as presented at University of Westminster in December 2022.
This covers how ontologies may be used as part of a broader business strategy for knowledge and data management, including how different styles of ontology are needed or different parts of such a strategy.
La dernière génération des bases de données ont les particularités suivante :
Être non relationnel, distribuée , open source et scalable.
Ce mouvement commence en 2009 et est entrain de grandir rapidement et avec beaucoup d'engouement.
La conférence a pour but de présenté les principales base noSql accessible en python. Elle sera agrémentée pour chaque base de donnée (environ 4, 10 min chacune) d'une présentation informative, d'une modélisation de schéma et d'un exemple d'application accédant au donnée (en python).
Developing real-time data pipelines with Spring and Kafkamarius_bogoevici
Talk given at the Apache Kafka NYC Meetup, October 20, 2015.
http://www.meetup.com/Apache-Kafka-NYC/events/225697500/
Kafka has emerged as a clear choice for a high-throughput, low latency messaging system that addresses the needs of high-performance streaming applications. The Spring Framework has been, in the last decade, the de-facto standard for developing enterprise Java applications, providing a simple and powerful programming model that allows developers to focus on the business needs, leaving the boilerplate and middleware integration to the framework itself. In fact, it has evolved into a rich and powerful ecosystem, with projects focusing on specific aspects of enterprise software development - like Spring Boot, Spring Data, Spring Integration, Spring XD, Spring Cloud Stream/Data Flow to name just a few.
In this presentation, Marius Bogoevici from the Spring team will take the perspective of the Kafka user, and show, with live demos, how the various projects in the Spring ecosystem address their needs:
- how to build simple data integration applications using Spring Integration Kafka;
- how to build sophisticated data pipelines with Spring XD and Kafka;
- how to build cloud native message-driven microservices using Spring Cloud Stream and Kafka, and how to orchestrate them using Spring Cloud Data Flow;
- Principe du multithreading.
- Classe Thread.
- Création et exécution d'un thread.
- Accès simultanés à une ressource.
- Synchronisation
- Etats d'un Thread
- Conseils pratiques
Bağli li̇steler (Linked List) – Yiğinlar (Stack) - Kuyruklar Konu Anlatımı Ömer Özselçuk
Bu sunumda Bağlı Listeler (linked list), Yığınlar (stack), kuyruk veri yapısı (QUEUES) konu anlatımı yapılmış. Örnek C kodları ve örnek algoritmalar ile anlatım desteklenmiştir.
Bağlı Liste (Linked List) Nedir?
Dizilerden sonra en çok kullanılan veri yapısıdır.
Doğrusal Liste (Linear List) yapısı yalnızca öncelik - sonralık ilişkisini yansıtabilecek yapıdadır.
Yığın Veri Yapısı Nedir ( Stack Data Type)
Nesne ekleme ve çıkarmalarının en üstten (top) yapıldığı veri yapısına stack (yığın) adı verilir.
QUEUES (KUYRUK) Veri Yapısı
Kuyruk veri yapısında da veri ekleme (enqueue) ve kuyruktan veri çıkarma (dequeue) şeklinde iki tane işlem tanımlıdır.
Yığınların tersine FIFO (First In First Out) prensibine göre çalışırlar ve ara elemanlara erişim doğrudan yapılamaz.
Intro to GemStone/S
Mon, August 22, 3:30pm – 4:00pm
Youtube: https://youtu.be/NGMxjtOl8oA
Abstract: What is GemStone/S and how does it compare to other Smalltalks? This talk is intended to introduce you to a system that combines an ANSI-compliant Smalltalk application server with a full-featured multi-user database. In particular, because of the multi-user nature of the system, GemStone/S has implemented namespaces as well as class/object versioning. How this works presents interesting technical challenges.
Bio: As a junior-high student in 1971, James discovered the local university’s computer center and a life-long obsession with computers began. He was introduced to Smalltalk/V for the Mac in the mid-90s, and became a Smalltalk bigot. James is Director of Operations for GemTalk Systems and is a passionate advocate for GemStone and all things Smalltalk.
My session about Microsoft Application Insights at "DevOps@Work 2016" event, managed by DomusDotNet and GetLatestVersion communities and hosted in Microsoft Rome's building, on February 5th, 2016
These slides accompanied a presentation by Dan Gillean and Sara Allain of Artefactual Systems, delivered as part of AtoM Camp Cambridge, a three-day boot camp held at St John's College, Cambridge University, May 9-11, 2017 For more information, see:
https://wiki.accesstomemory.org/Community/Camps/SJC2017
In this session, Dan Gillean covered some of key considerations when preparing to migrate data from a legacy source system into AtoM. The slides cover the steps involved, paying specific attention to AtoM's data model and behaviors that should be considered when preparing your data for import into AtoM.
Ontology for Knowledge and Data Strategies.pptxMike Bennett
Ontology suffers from an adoption problem. If we are to describe the benefits of ontologies and knowledge graphs, we need to demonstrate how these can contribute to the business. That means addressing the knowledge and data management strategies of the organization.
A knowledge management strategy addresses a range of concerns, including terminology, business semantics, data provenance and quality, information availability and a rigorous treatment of context. Ontology is just one tool among many in the overall strategy for managing knowledge assets and their use.
In this seminar we will unpack the components of an organizational knowledge strategy and show in terms that both business and IT can understand, how different types of ontology fit in to the firm’s wider data management and knowledge strategies, alongside a range of other tools and techniques.
Attendees do not need any prior knowledge of ontology, knowledge graphs or semantic technology, but should ideally have an appreciation of data and knowledge management issues.
Mike Bennett's presentation on Ontology for Knowledge and Data Strategies, as presented at University of Westminster in December 2022.
This covers how ontologies may be used as part of a broader business strategy for knowledge and data management, including how different styles of ontology are needed or different parts of such a strategy.
La dernière génération des bases de données ont les particularités suivante :
Être non relationnel, distribuée , open source et scalable.
Ce mouvement commence en 2009 et est entrain de grandir rapidement et avec beaucoup d'engouement.
La conférence a pour but de présenté les principales base noSql accessible en python. Elle sera agrémentée pour chaque base de donnée (environ 4, 10 min chacune) d'une présentation informative, d'une modélisation de schéma et d'un exemple d'application accédant au donnée (en python).
Developing real-time data pipelines with Spring and Kafkamarius_bogoevici
Talk given at the Apache Kafka NYC Meetup, October 20, 2015.
http://www.meetup.com/Apache-Kafka-NYC/events/225697500/
Kafka has emerged as a clear choice for a high-throughput, low latency messaging system that addresses the needs of high-performance streaming applications. The Spring Framework has been, in the last decade, the de-facto standard for developing enterprise Java applications, providing a simple and powerful programming model that allows developers to focus on the business needs, leaving the boilerplate and middleware integration to the framework itself. In fact, it has evolved into a rich and powerful ecosystem, with projects focusing on specific aspects of enterprise software development - like Spring Boot, Spring Data, Spring Integration, Spring XD, Spring Cloud Stream/Data Flow to name just a few.
In this presentation, Marius Bogoevici from the Spring team will take the perspective of the Kafka user, and show, with live demos, how the various projects in the Spring ecosystem address their needs:
- how to build simple data integration applications using Spring Integration Kafka;
- how to build sophisticated data pipelines with Spring XD and Kafka;
- how to build cloud native message-driven microservices using Spring Cloud Stream and Kafka, and how to orchestrate them using Spring Cloud Data Flow;
- Principe du multithreading.
- Classe Thread.
- Création et exécution d'un thread.
- Accès simultanés à une ressource.
- Synchronisation
- Etats d'un Thread
- Conseils pratiques
Bağli li̇steler (Linked List) – Yiğinlar (Stack) - Kuyruklar Konu Anlatımı Ömer Özselçuk
Bu sunumda Bağlı Listeler (linked list), Yığınlar (stack), kuyruk veri yapısı (QUEUES) konu anlatımı yapılmış. Örnek C kodları ve örnek algoritmalar ile anlatım desteklenmiştir.
Bağlı Liste (Linked List) Nedir?
Dizilerden sonra en çok kullanılan veri yapısıdır.
Doğrusal Liste (Linear List) yapısı yalnızca öncelik - sonralık ilişkisini yansıtabilecek yapıdadır.
Yığın Veri Yapısı Nedir ( Stack Data Type)
Nesne ekleme ve çıkarmalarının en üstten (top) yapıldığı veri yapısına stack (yığın) adı verilir.
QUEUES (KUYRUK) Veri Yapısı
Kuyruk veri yapısında da veri ekleme (enqueue) ve kuyruktan veri çıkarma (dequeue) şeklinde iki tane işlem tanımlıdır.
Yığınların tersine FIFO (First In First Out) prensibine göre çalışırlar ve ara elemanlara erişim doğrudan yapılamaz.
Intro to GemStone/S
Mon, August 22, 3:30pm – 4:00pm
Youtube: https://youtu.be/NGMxjtOl8oA
Abstract: What is GemStone/S and how does it compare to other Smalltalks? This talk is intended to introduce you to a system that combines an ANSI-compliant Smalltalk application server with a full-featured multi-user database. In particular, because of the multi-user nature of the system, GemStone/S has implemented namespaces as well as class/object versioning. How this works presents interesting technical challenges.
Bio: As a junior-high student in 1971, James discovered the local university’s computer center and a life-long obsession with computers began. He was introduced to Smalltalk/V for the Mac in the mid-90s, and became a Smalltalk bigot. James is Director of Operations for GemTalk Systems and is a passionate advocate for GemStone and all things Smalltalk.
My session about Microsoft Application Insights at "DevOps@Work 2016" event, managed by DomusDotNet and GetLatestVersion communities and hosted in Microsoft Rome's building, on February 5th, 2016
DevOps@Work 2017 - Azure Mobile EngagementRoberto Albano
Session about Microsoft Azure Mobile Engagement at "DevOps@Work 2017" event, managed by DomusDotNet community and hosted in Microsoft Rome's headquarter on February 10th, 2017.
The session is related to the product's presentation, configuration and integration using the available SDK.
DevOps@Work 2017 - Application insights more control, more powerRoberto Albano
Session about Microsoft Application Insights at "DevOps@Work 2017" event, managed by DomusDotNet community and hosted in Microsoft Rome's headquarter on February 10th, 2017.
The session is related to the product's presentation, configuration and integration using the available SDK.
My session about Microsoft Application Insights at "EtnaDev 2016" event, managed by OrangeDotNet community and hosted in the Engineering Department of "Università degli Studi di Catania", on October 21st, 2016
This is a presentation of the Amazon Web Service compatible EC2 interface to CloudStack. AWS EC2 is the de facto standard for compute clouds whether they are private or public. EC2 has a multiple client libraries and tools that can be used to provision virtual machine instances.
In this talk we walk through how to enable an EC2 like service in a CloudStack based cloud, how to register the users and how to use clients to talk to CloudStack the same way you would talk to the AWS EC2 public clouds.
Best Practices When Localizing And Translating Marketing MaterialsChris Raulf
The Internet is your gateway to the global market place. Immediately after connecting your Web site to the World Wide Web, you have access to previously untapped markets. With the right marketing tools and tactics, every company, no matter how small or large, can make its products and services available to millions and millions of potential consumers worldwide.
WebRTC extracts voice and video from phones and apps and puts them in browsers without requiring plug-ins (WebRTC-compliant browsers only). The AT&T Enhanced WebRTC (Beta) API extends WebRTC by also allowing calls to regular phone numbers, plus browser-to-browser calling with the following features.
How To Deploy A Cloud Based Webserver in 5 minutes - LAMPMatt Dunlap
Simple tutorial showing how easy it is to deploy a cloud based webserver with apache, mysql and php in about 5 minutes. You can also watch the video for this slideshow at http://www.youtube.com/watch?v=3eqUZ6fzpOM
Il Web 2.0 è un termine utilizzato per indicare genericamente uno stato di evoluzione di Internet (e in particolare del World Wide Web), rispetto alla condizione precedente. Si tende ad indicare come Web 2.0 l'insieme di tutte quelle applicazioni online che permettono uno spiccato livello di interazione sito-utente (blog, forum, chat, sistemi quali Wikipedia, Youtube, Facebook, Myspace, Twitter, Gmail, Wordpress, Tripadvisor ecc.).
Applicazioni web e SaaS, considerazioni. [Report]Claudio Rava
Claudio Rava, claudio.rava(at)gmail.com
Progetto di esame, corso Tecnologie e Applicazioni per l'Internet, Politecnico di Milano.
Analisi della Web Trend Map 4, in particolare dell'Application Line.
2. Cos’è il Web
E‟ molto improbabile riuscire a racchiudere il concetto di Web in
una o più definizioni
Possiamo partire dicendo che il Web è uno dei servizi disponibili
su Internet, il più famoso insieme alla posta elettronica
Il servizio mette a disposizione degli utenti uno spazio digitale
ed elettronico per la pubblicazione di contenuti multimediali
2 Architettura Web
3. Cos’è il Web
E‟ anche un mezzo per la distribuzione di software e la fornitura
di servizi particolari sviluppati dagli stessi utenti
Nell‟accezione più recente, il Web è stato caratterizzato da una
evoluzione molto importante
Tale evoluzione ha scaturito la nascita di quello che oggi è noto
con il termine di “Web 2.0”
Questi implica una forte forma di coinvolgimento per gli utenti
3 Architettura Web
4. Storia del Web in 4 slide
Per cercare di capire al meglio cosa sia esattamente il Web
può essere utile un viaggio velocissimo nella sua storia
In origine la prima “rete” si chiamava ARPANET e fu sviluppata
alla fine degli anni sessanta da una agenzia del Ministero della
Difesa americana per collegare postazioni remote
La prima rete connetteva quattro nodi, 3 università e un
centro di ricerca, con una ampiezza di banda di 50Kbps
L‟architettura era client-server e le applicazioni venivano
eseguite facendo uso dei protocolli Telnet e FTP
4 Architettura Web
5. Storia del Web in 4 slide
Tra gli anni „70 e ‟80 la rete si collegò oltreoceano, con Francia,
Norvegia e Inghilterra, e nel 1976 la regina d‟Inghilterra spedì
la sua prima e-mail
Nel „79 vennero inventate le emoticon, per rappresentare il
proprio umore via e-mail, mentre nel 1980 si ebbe il primo
attacco virale che compromise temporaneamente l‟intera rete
Sempre in quegli anni vennero introdotti i protocolli TCP e IP e
si diede quindi il via alla rete con le caratteristiche odierne
Nel 1991 al CERN di Ginevra vennero inventati il protocollo
HTTP e il World Wide Web (www) con il primo sito web
5 Architettura Web
6. Storia del Web in 4 slide
Nel World Wide Web (WWW), le risorse disponibili sono
organizzate secondo un sistema di librerie (le pagine), a cui si
può accedere utilizzando appositi programmi detti browser
La sempre maggiore facilità di utilizzo dei browser, unita alla
evoluzione e diffusione dei Personal Computer, hanno aperto
l'uso di Internet ad una massa sempre crescente di persone
In breve Internet si sposta al di fuori dell‟ambito strettamente
informatico, favorendo una crescita esponenziale
Questo periodo della rete verrà in seguito denominato Web 1.0
6 Architettura Web
7. Storia del Web in 4 slide
I primi utenti internet in Italia risalgono alla prima metà degli
anni ‟90, quando la rete si diffonde anche a livello di
infrastruttura arrivando anche nel nostro paese
I primi servizi di connettività a pagamento trovano spazio
anche nell‟ambito domestico oltre che professionale, favorita
dalla crescente presenza nelle case dei PC
Dopo qualche anno comincia a svilupparsi la concorrenza e
questo favorisce notevolmente l‟utenza finale, con la maggiore
disponibilità di servizi e i sempre minori costi di connessione
7 Architettura Web
8. Dal Web 1.0 al Web 1.5
A seguito dell'integrazione con database e all'utilizzo di sistemi
di gestione dei contenuti (CMS), Internet si è evoluta
ulteriormente
Sono nati nuovi siti dinamici con forte capacità di interazione
Un esempio sono i forum e i blog
Questo periodo della rete, caratterizzato da un nuovo
dinamismo, verrà in seguito denominato Web 1.5
8 Architettura Web
9. Dal Web 1.5 al Web 2.0
Oggi riusciamo a classificare le varie “versioni” del web, ma
questo è stato fatto in maniera retroattiva
Prima della definizione del Web 2.0, nessuno avrebbe saputo
classificare il Web 1.0 o il Web 1.5
Questo però non ci consente di poter dire che il Web 2.0 è un
ambito noto e conosciuto
Anche se già è stato definito, in via non definitiva, l‟ambito di
applicazione del futuro Web 3.0
9 Architettura Web
10. Internet come una piattaforma applicativa
L‟evoluzione tecnologica in termini di potenza di calcolo e di
facile disponibilità di hardware hanno facilitato la presenza di
Internet nelle famiglie
La larghezza di banda sempre più alta ha poi consentito
l‟accesso a contenuti sempre più complessi
Tutto questo è stato favorito dalla nascita ma soprattutto dalla
crescita dei linguaggi di script lato client, come JavaScript
Questo linguaggio, utilizzato con tecniche di sviluppo evolute
come AJAX, hanno contribuito a questo fenomeno sociale
10 Architettura Web
11. Internet come una piattaforma applicativa
Oggi tutti usano internet come un contenitore di servizi
Si consulta internet per qualunque cosa (una ricetta, il meteo,
ritrovare un bugiardino perduto...)
E‟ diventato, per la maggior parte delle persone, un enorme
contenitore capace di contenere tutto (o quasi)
Ogni giorno milioni di persone si espongono sulla rete
Questi utenti producono quantità enormi di nuove informazioni
pronte a viaggiare e a diffondersi ovunque
11 Architettura Web
12. Classificazione del Web
1.0
• Pagine Web Statiche
• Siti e Portali
• Scarsa/inesistente interazione tra utenti
1.5
• Introduzione dei motori CMS
• Interazione tra utenti (forum,
community, ...)
2.0
• Internet come piattaforma applicativa
• Elevata interazione utente/i (RIA)
• Contenuti autoprodotti dall‟utenza
3.0
• Mobilità elevata
• Contenuti anche complessi in movimento
(infrastruttura/banda evoluta)
12 Architettura Web
13. Internet come veicolo di business
Le aziende sono state le prime a capire l‟importanza della rete
Le comunicazioni si sono velocizzate in maniera esponenziale,
consentendo di veicolare in maniera repentina le informazioni
Le aziende hanno trovato nuova linfa vitale nello sviluppo di
applicazioni e servizi evoluti, disponibili sul web
Pian piano diverse aziende ne hanno creato nuovi settori
produttivi, dall‟e-business ai servizi sul web
13 Architettura Web
14. La comunicazione in rete con il web
La prima rete (ARPANET) utilizzava come protocolli di
comunicazione TELNET e FTP
Successivamente furono introdotti prima i protocolli TCP e
IP, e quindi il protocollo HTTP (inventato nel 1991)
In effetti il termine “Internet” viene menzionato per la prima
volta nel Dicembre „74, nell‟RFC che descrive il protocollo TCP
14 Architettura Web
15. Le applicazioni N-Tier
Per applicazione N-tier si intende un'applicazione che
coinvolge N livelli di transazione
Le parti coinvolte in questa architettura assumono diversi
nomi e diversi significati in base al loro compito nella catena
transitiva
Alcuni esempi sono server, middleware, client, ecc.
Un esempio classico di applicazione N-Tier è una applicazione
client-server
15 Architettura Web
16. Le applicazioni N-Tier
Le componenti di una applicazione N-Tier, comunicano tra di
loro tramite dei protocolli di comunicazione
Nel corso degli anni, i continui sviluppi e le nuove necessità
hanno reso necessario trasformazioni, evoluzioni e nuove
implementazioni di protocolli
Lo sviluppo di internet ha coinvolto diversi protocolli, alcuni
dei quali tutt‟ora in uso
16 Architettura Web
17. Le applicazioni N-Tier
I protocolli si sono evoluti, nel limite del possibile,
raggiungendo velocemente l‟utilizzo di massa
Nel tempo le esigenze sono cambiate in base alle nuove
architetture
I protocolli però, sono rimasti sostanzialmente gli stessi
17 Architettura Web
18. Le applicazioni web
Sono le applicazioni disponibili tramite internet
Sono disponibili sotto varie forme:
Portali multiservizi (utenza privata)
Siti specializzati (tematici)
Servizi dedicati all’utenza pubblica
Servizi dedicati alle aziende
18 Architettura Web
19. Le applicazioni web
Le applicazioni Web sono una valida alternativa alle
tradizionali applicazioni Client/Server per vari motivi:
facilità di distribuzione e aggiornamento:
un'applicazione Web si trova interamente sul server, per
cui la pubblicazione sul server risolve i problemi di
distribuzione e aggiornamento
accesso multipiattaforma: l'accesso all'applicazione è
indipendente dall'hardware e dal sistema operativo
utilizzato dagli utenti
19 Architettura Web
20. Le applicazioni web
Altri vantaggi:
riduzione dei costi di gestione: l'uso di Internet come
infrastruttura per un'applicazione Web riduce
notevolmente sia i costi di connettività che i costi di
gestione dei client
scalabilità: un'applicazione Web ben progettata può
crescere insieme alle esigenze dell'azienda senza
particolari problemi
20 Architettura Web
21. Contesti di esecuzione
Le applicazioni web vengono definite anche in base al contesto
in cui dovranno essere inserite
Questo contesto influenza notevolmente l‟architettura finale
dell‟applicazione
In particolar modo le politiche relative alla sicurezza
applicativa risentiranno del contesto in cui vengono calate
21 Architettura Web
22. Contesti di esecuzione
I tre contesti possibili sono:
Internet
• Le applicazioni sono fruibili in rete ad una utenza
generica che accede ai servizi da qualunque posizione
Intranet
• Le applicazioni riguardano un ambito chiuso e sono
accessibili solo dall‟interno di un perimetro ben preciso
Extranet
• Le applicazioni riguardano un ambito chiuso ma sono
accessibili anche dall‟esterno del perimetro classico
22 Architettura Web
23. Architettura web
Identificazione delle componenti principali:
Utente Request
applicazione Server
(browser/applicativo Response Web
)
Dati
Applicazion
e Web
Livello Utenza Livello Applicativo Livello Dati
23 Architettura Web
24. Architettura web
Livello Utenza
Rappresenta la parte di interfaccia disponibile all‟utenza
Nella maggioranza dei casi è costituito dalle pagine
usufruibili dal browser
A questo livello vengono collocate anche quelle
componenti che agiscono appunto lato client (html, script,
applet, activeX, ecc.)
Lo sviluppo di questo lato della applicazione richiede molta
cura per la parte grafica (compatibilità dei vari browser)
24 Architettura Web
25. Architettura web
Livello Applicativo
Rappresenta la parte di logica dell‟applicazione
Fisicamente ci si interfaccia con un Web Server (IIS,
Apache, ColdFusion, ecc)
Il Web Server si preoccupa di ospitare l‟applicazione web e
di gestire il flusso entrante e uscente da essa
Una parte della logica di sicurezza delle applicazioni web
viene spesso collocata direttamente sul Web Server,
riducendo di fatto lo sforzo implementativo
25 Architettura Web
26. Architettura web
Livello Applicativo
L‟applicazione web, residente sul Web Server ha il compito:
• ricevere e di fatto elaborare le richieste dell‟utenza
• interfacciarsi con il livello dati per produrre il risultato
• generare la risposta sia in termini di dati che in termini
di interfaccia utente (pagina con i risultati)
• gestire la logica di sicurezza a suo carico (parzialmente
o totalmente)
• gestire le eccezioni con comportamenti programmati
26 Architettura Web
27. Architettura web
Livello Dati
A questo livello sono presenti i fornitori dei dati,
normalmente dei DBMS
I dati non sono accessibili direttamente dal Web Server, ma
sono normalmente accessibili all‟applicazione web ospitata
In questo stesso lato possono accentrarsi anche altri
servizi, come:
• server di posta elettronica
• server ftp
• server di documentazione
27 Architettura Web
28. Evoluzione dell’architettura web
Nel corso degli anni l‟architettura web ha subito radicali
trasformazioni
I vecchi modelli di pubblicazione e di sottoscrizione delle
informazioni si sono evoluti e trasformati
In questi concetti, si è stabilito un ruolo importante per la
questione della sicurezza
28 Architettura Web
29. Architettura web 1.0
World Wide Web (WWW), Pagine statiche
Internet
Web Server
Pagine Web
29 Architettura Web
30. Architettura web 1.0
World Wide Web (WWW), Pagine dinamiche
Web Server
Internet
Pagine Web
Database
30 Architettura Web
31. Architettura web 1.5
World Wide Web (WWW), Contenuti dinamici
Web Server Internet
Gestione Pagine Web
dei
contenuti
Database
31 Architettura Web
32. Architettura web 2.0
World Wide Web (WWW), Contenuti creati dall’utenza
Web Server Internet
Gestione
dei
Pagine Web contenuti
Database
32 Architettura Web