SlideShare a Scribd company logo
1 of 21
Aplikacje internetowe
Definicja aplikacji


Aplikacja w informatyce to podzbiór oprogramowania
komputerowego przeznaczonego bezpośrednio dla
użytkownika, wykonująca określoną grupę zadań.

Tradycyjną aplikacją nazwiemy taką, która jest wykonywana
przez system operacyjny i wykorzystuje jedynie zasoby
komputera, na którym została uruchomiona.
Aplikacja internetowa


Aplikacja internetowa jest aplikacją wykorzystującą do
pracy zasoby rozproszonych komputerów
podłączonych do sieci internet

Rich Text Apliccation – definicja Macromedii odnosząca się
   przede wszystkim do technologii flash
Rich Web Agent – bogaty klient najczęściej przeglądarka
   internetowa
CZĘŚĆ PIERWSZA:

Architektura aplikacji internetowych
Główne cechy

➲   Architektura rozproszona, warstwowa,
    client-server
➲   Działa w sieci internet
➲   Wiele użytkowników
➲   Wielka moc obliczeniowa
➲   Standardy
Warstwy

➲   Warstwa danych – baza danych
➲   Warstwa sesji – serwer WWW
➲   Warstwa prezentacji – najczęściej
    przeglądarka internetowa
Wymiana danych między warstwami
Warstwa danych

➲   Realizowana przez bazy danych
➲   Może być to system plików
➲   Wsparcie transakcjami kluczowych
    informacji
➲   Wielodostępność
Warstwa sesji

➲   Realizowana przez serwer WWW lub
    serwer aplikacyjny
➲   Zarządzanie sesjami użytkowników
➲   Caching wyników zapytań do warstwy
    danych
➲   Możliwa specjalizacja
Warstwa prezentacji

➲   Realizowana najczęściej przez
    przeglądarkę internetową
➲   Prezentacja danych
➲   Interfejs użytkownika
➲   Wykonywanie obliczeń
➲   Logika interfejsu
Podsumowanie

➲   Wielkie możliwości prezentacyjne
➲   Logika interfejsu użytkownika po stronie
    klienta
➲   Obliczenia (wielki rozproszony klaster)
➲   Prostota (brak instalacji i utrzymania po
    stronie użytkownika)
CZĘŚĆ DRUGA:

Przeglądarka internetowa
Przeglądarka internetowa

Najczęściej używany program do
wyświetlania wyników działania aplikacji
internetowej umożliwiająca:
 ➲ Prezentację treści
 ➲ Obliczenia
 ➲ Zakodowanie logiki interfejsu użytkownika
Zasada działania

Schemat generacji strony internetowej
Zasada działania

Schemat w jakim działa przeglądarka internetowa
JavaScript

Język skryptowy przeglądarek internetowych
oparty o paradygmat prototypowy
Cechy języka

➲   Słaba typizacja
➲   Obiekty jako kontenery (słowniki)
➲   Dziedziczenie prototypowe
➲   Rachunek Lambda
➲   Domknięcia (podobnie jak w
    paradygmacie funkcyjnym)
Cechy C.D.

➲   Występuje tylko jeden typ danych – obiekt
➲   Zapożycza wiele ideii języków funkcyjnych
➲   Składnia jest podobna do C
➲   Funkcje są obiektami!
➲   Parametry funkcji są dostępne przez
    obiekt attributes
➲   Literały obiektów
Prototyp

o=function()
{
   lokalnyAtrybut1=wartosc1
   lokalnyAtrybut2=wartosc2
   lokalnyAtrybut3=wartosc3
   instrukcja1
   instrukcja2
   ...
   instrukcjaN
}

o.prototype={
   atrybut1=wartosc1,
   atrybut2=wartosc2,
   ...
   atrybutN=wartoscN,
}
Scalanie obiektów

merge=function(from,to)
{
   for (var i in from)
      if (typeof from[i]=='object' && !
(from[i] instanceof Array))
      {
         if(to[i]===undefined)
            to[i]={}
         rMerge(from[i],to[i])
      }
      else
         (typeof to=='object') ? 
to[i]=from[i] : to.push(from[i])
Podsumowanie

➲   Wielkie możliwości
➲   Prostota zapisu trudnych algorytmów
➲   Krótki kod
➲   Trudności przy nauce (mało znany
    paradygmat funkcyjny i prototypowy)

More Related Content

What's hot

負荷テスト入門
負荷テスト入門負荷テスト入門
負荷テスト入門Takeo Noda
 
React.js and Redux overview
React.js and Redux overviewReact.js and Redux overview
React.js and Redux overviewAlex Bachuk
 
Introduction to node.js
Introduction to node.jsIntroduction to node.js
Introduction to node.jsDinesh U
 
2.apache spark 실습
2.apache spark 실습2.apache spark 실습
2.apache spark 실습동현 강
 
Introduction to Node.js
Introduction to Node.jsIntroduction to Node.js
Introduction to Node.jsVikash Singh
 
Power app custom api v0.1.21.1221
Power app custom api v0.1.21.1221Power app custom api v0.1.21.1221
Power app custom api v0.1.21.1221Ayumu Inaba
 
Java EE パフォーマンスTips #glassfish_jp
Java EE パフォーマンスTips #glassfish_jpJava EE パフォーマンスTips #glassfish_jp
Java EE パフォーマンスTips #glassfish_jpNorito Agetsuma
 
[Cloud OnAir] お客様事例紹介 アサヒグループのデータと GCP の活用 2019年6月13日 放送
[Cloud OnAir] お客様事例紹介  アサヒグループのデータと GCP の活用 2019年6月13日 放送[Cloud OnAir] お客様事例紹介  アサヒグループのデータと GCP の活用 2019年6月13日 放送
[Cloud OnAir] お客様事例紹介 アサヒグループのデータと GCP の活用 2019年6月13日 放送Google Cloud Platform - Japan
 
Reactjs workshop
Reactjs workshop Reactjs workshop
Reactjs workshop Ahmed rebai
 
Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料)
Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料)Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料)
Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料)NTT DATA Technology & Innovation
 
「Oracle Database + Java + Linux」 環境における性能問題の調査手法 ~ミッションクリティカルシステムの現場から~ Part.1
「Oracle Database + Java + Linux」環境における性能問題の調査手法 ~ミッションクリティカルシステムの現場から~ Part.1「Oracle Database + Java + Linux」環境における性能問題の調査手法 ~ミッションクリティカルシステムの現場から~ Part.1
「Oracle Database + Java + Linux」 環境における性能問題の調査手法 ~ミッションクリティカルシステムの現場から~ Part.1Shogo Wakayama
 
[DevGround] 린하게 구축하는 스타트업 데이터파이프라인
[DevGround] 린하게 구축하는 스타트업 데이터파이프라인[DevGround] 린하게 구축하는 스타트업 데이터파이프라인
[DevGround] 린하게 구축하는 스타트업 데이터파이프라인Jae Young Park
 
入門 Cloud Composer
入門 Cloud Composer入門 Cloud Composer
入門 Cloud ComposerMomota Sasaki
 
[D12] NonStop SQLって何? by Susumu Yamamoto
[D12] NonStop SQLって何? by Susumu Yamamoto[D12] NonStop SQLって何? by Susumu Yamamoto
[D12] NonStop SQLって何? by Susumu YamamotoInsight Technology, Inc.
 
Introduction to the Hadoop Ecosystem with Hadoop 2.0 aka YARN (Java Serbia Ed...
Introduction to the Hadoop Ecosystem with Hadoop 2.0 aka YARN (Java Serbia Ed...Introduction to the Hadoop Ecosystem with Hadoop 2.0 aka YARN (Java Serbia Ed...
Introduction to the Hadoop Ecosystem with Hadoop 2.0 aka YARN (Java Serbia Ed...Uwe Printz
 
Airflow를 이용한 데이터 Workflow 관리
Airflow를 이용한  데이터 Workflow 관리Airflow를 이용한  데이터 Workflow 관리
Airflow를 이용한 데이터 Workflow 관리YoungHeon (Roy) Kim
 
Anatomy of a Modern Node.js Application Architecture
Anatomy of a Modern Node.js Application Architecture Anatomy of a Modern Node.js Application Architecture
Anatomy of a Modern Node.js Application Architecture AppDynamics
 

What's hot (20)

負荷テスト入門
負荷テスト入門負荷テスト入門
負荷テスト入門
 
Learn react-js
Learn react-jsLearn react-js
Learn react-js
 
React.js and Redux overview
React.js and Redux overviewReact.js and Redux overview
React.js and Redux overview
 
Introduction to node.js
Introduction to node.jsIntroduction to node.js
Introduction to node.js
 
2.apache spark 실습
2.apache spark 실습2.apache spark 실습
2.apache spark 실습
 
Introduction to Node.js
Introduction to Node.jsIntroduction to Node.js
Introduction to Node.js
 
Power app custom api v0.1.21.1221
Power app custom api v0.1.21.1221Power app custom api v0.1.21.1221
Power app custom api v0.1.21.1221
 
Java EE パフォーマンスTips #glassfish_jp
Java EE パフォーマンスTips #glassfish_jpJava EE パフォーマンスTips #glassfish_jp
Java EE パフォーマンスTips #glassfish_jp
 
[Cloud OnAir] お客様事例紹介 アサヒグループのデータと GCP の活用 2019年6月13日 放送
[Cloud OnAir] お客様事例紹介  アサヒグループのデータと GCP の活用 2019年6月13日 放送[Cloud OnAir] お客様事例紹介  アサヒグループのデータと GCP の活用 2019年6月13日 放送
[Cloud OnAir] お客様事例紹介 アサヒグループのデータと GCP の活用 2019年6月13日 放送
 
Reactjs workshop
Reactjs workshop Reactjs workshop
Reactjs workshop
 
Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料)
Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料)Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料)
Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料)
 
「Oracle Database + Java + Linux」 環境における性能問題の調査手法 ~ミッションクリティカルシステムの現場から~ Part.1
「Oracle Database + Java + Linux」環境における性能問題の調査手法 ~ミッションクリティカルシステムの現場から~ Part.1「Oracle Database + Java + Linux」環境における性能問題の調査手法 ~ミッションクリティカルシステムの現場から~ Part.1
「Oracle Database + Java + Linux」 環境における性能問題の調査手法 ~ミッションクリティカルシステムの現場から~ Part.1
 
Spring Boot
Spring BootSpring Boot
Spring Boot
 
[DevGround] 린하게 구축하는 스타트업 데이터파이프라인
[DevGround] 린하게 구축하는 스타트업 데이터파이프라인[DevGround] 린하게 구축하는 스타트업 데이터파이프라인
[DevGround] 린하게 구축하는 스타트업 데이터파이프라인
 
Introduction Node.js
Introduction Node.jsIntroduction Node.js
Introduction Node.js
 
入門 Cloud Composer
入門 Cloud Composer入門 Cloud Composer
入門 Cloud Composer
 
[D12] NonStop SQLって何? by Susumu Yamamoto
[D12] NonStop SQLって何? by Susumu Yamamoto[D12] NonStop SQLって何? by Susumu Yamamoto
[D12] NonStop SQLって何? by Susumu Yamamoto
 
Introduction to the Hadoop Ecosystem with Hadoop 2.0 aka YARN (Java Serbia Ed...
Introduction to the Hadoop Ecosystem with Hadoop 2.0 aka YARN (Java Serbia Ed...Introduction to the Hadoop Ecosystem with Hadoop 2.0 aka YARN (Java Serbia Ed...
Introduction to the Hadoop Ecosystem with Hadoop 2.0 aka YARN (Java Serbia Ed...
 
Airflow를 이용한 데이터 Workflow 관리
Airflow를 이용한  데이터 Workflow 관리Airflow를 이용한  데이터 Workflow 관리
Airflow를 이용한 데이터 Workflow 관리
 
Anatomy of a Modern Node.js Application Architecture
Anatomy of a Modern Node.js Application Architecture Anatomy of a Modern Node.js Application Architecture
Anatomy of a Modern Node.js Application Architecture
 

Similar to Aplikacje internetowe (2010)

Cloud computing na bazie Windows Azure, Tomek Kopacz, Microsoft
Cloud computing na bazie Windows Azure, Tomek Kopacz, MicrosoftCloud computing na bazie Windows Azure, Tomek Kopacz, Microsoft
Cloud computing na bazie Windows Azure, Tomek Kopacz, MicrosoftBiznes 2.0
 
Tomasz Kopacz, Cloud computing na bazie Windows Azure
Tomasz Kopacz, Cloud computing na bazie Windows AzureTomasz Kopacz, Cloud computing na bazie Windows Azure
Tomasz Kopacz, Cloud computing na bazie Windows AzureWebhosting.pl
 
Wprowadzenie Do Asp
Wprowadzenie Do AspWprowadzenie Do Asp
Wprowadzenie Do AspKelut
 
Jak podwoić wartość kodu .NET?
Jak podwoić wartość kodu .NET?Jak podwoić wartość kodu .NET?
Jak podwoić wartość kodu .NET?javOnet
 
GET.NET - Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...
GET.NET -  Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...GET.NET -  Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...
GET.NET - Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...Michal Furmankiewicz
 
Michał Dec - Quality in Clouds
Michał Dec - Quality in CloudsMichał Dec - Quality in Clouds
Michał Dec - Quality in Cloudskraqa
 
Produkcja aplikacji internetowych
Produkcja aplikacji internetowychProdukcja aplikacji internetowych
Produkcja aplikacji internetowychTomasz Borowski
 
Domain Driven Development
Domain Driven DevelopmentDomain Driven Development
Domain Driven DevelopmentKonrad Russa
 
Praktyczne użycie Repository Pattern w Laravel cz. I
Praktyczne użycie Repository Pattern w Laravel cz. IPraktyczne użycie Repository Pattern w Laravel cz. I
Praktyczne użycie Repository Pattern w Laravel cz. ILaravel Poland MeetUp
 
Laravel Poznań Meetup #7 - "Praktyczne użycie Repository Pattern w Laravel cz...
Laravel Poznań Meetup #7 - "Praktyczne użycie Repository Pattern w Laravel cz...Laravel Poznań Meetup #7 - "Praktyczne użycie Repository Pattern w Laravel cz...
Laravel Poznań Meetup #7 - "Praktyczne użycie Repository Pattern w Laravel cz...HighSolutions Sp. z o.o.
 
Paleta możliwości web developera
Paleta możliwości web developeraPaleta możliwości web developera
Paleta możliwości web developeraTomasz Borowski
 
Silverlight i PHP - jak budować interfejs nowoczesnych aplikacji internetowych?
Silverlight i PHP - jak budować interfejs nowoczesnych aplikacji internetowych?Silverlight i PHP - jak budować interfejs nowoczesnych aplikacji internetowych?
Silverlight i PHP - jak budować interfejs nowoczesnych aplikacji internetowych?PHPCon Poland
 
Nowości Windows Azure
Nowości Windows AzureNowości Windows Azure
Nowości Windows Azurepbubacz
 
Nowe Trendy W Projektowaniu Aplikacji Webowych
Nowe Trendy W Projektowaniu Aplikacji WebowychNowe Trendy W Projektowaniu Aplikacji Webowych
Nowe Trendy W Projektowaniu Aplikacji WebowychMarcin Daczkowski
 
JavaScript. Ćwiczenia praktyczne. Wydanie II
JavaScript. Ćwiczenia praktyczne. Wydanie IIJavaScript. Ćwiczenia praktyczne. Wydanie II
JavaScript. Ćwiczenia praktyczne. Wydanie IIWydawnictwo Helion
 
Podstawy programowania w Drupalu - Drupal idzie na studia - Jarosław Sobiecki
Podstawy programowania w Drupalu - Drupal idzie na studia - Jarosław SobieckiPodstawy programowania w Drupalu - Drupal idzie na studia - Jarosław Sobiecki
Podstawy programowania w Drupalu - Drupal idzie na studia - Jarosław SobieckiGrzegorz Bartman
 

Similar to Aplikacje internetowe (2010) (20)

Cloud computing na bazie Windows Azure, Tomek Kopacz, Microsoft
Cloud computing na bazie Windows Azure, Tomek Kopacz, MicrosoftCloud computing na bazie Windows Azure, Tomek Kopacz, Microsoft
Cloud computing na bazie Windows Azure, Tomek Kopacz, Microsoft
 
Tomasz Kopacz, Cloud computing na bazie Windows Azure
Tomasz Kopacz, Cloud computing na bazie Windows AzureTomasz Kopacz, Cloud computing na bazie Windows Azure
Tomasz Kopacz, Cloud computing na bazie Windows Azure
 
Wprowadzenie Do Asp
Wprowadzenie Do AspWprowadzenie Do Asp
Wprowadzenie Do Asp
 
Jak podwoić wartość kodu .NET?
Jak podwoić wartość kodu .NET?Jak podwoić wartość kodu .NET?
Jak podwoić wartość kodu .NET?
 
GET.NET - Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...
GET.NET -  Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...GET.NET -  Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...
GET.NET - Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...
 
Michał Dec - Quality in Clouds
Michał Dec - Quality in CloudsMichał Dec - Quality in Clouds
Michał Dec - Quality in Clouds
 
Produkcja aplikacji internetowych
Produkcja aplikacji internetowychProdukcja aplikacji internetowych
Produkcja aplikacji internetowych
 
Budowanie sieci Grid
Budowanie sieci GridBudowanie sieci Grid
Budowanie sieci Grid
 
Domain Driven Development
Domain Driven DevelopmentDomain Driven Development
Domain Driven Development
 
Praktyczne użycie Repository Pattern w Laravel cz. I
Praktyczne użycie Repository Pattern w Laravel cz. IPraktyczne użycie Repository Pattern w Laravel cz. I
Praktyczne użycie Repository Pattern w Laravel cz. I
 
Laravel Poznań Meetup #7 - "Praktyczne użycie Repository Pattern w Laravel cz...
Laravel Poznań Meetup #7 - "Praktyczne użycie Repository Pattern w Laravel cz...Laravel Poznań Meetup #7 - "Praktyczne użycie Repository Pattern w Laravel cz...
Laravel Poznań Meetup #7 - "Praktyczne użycie Repository Pattern w Laravel cz...
 
Paleta możliwości web developera
Paleta możliwości web developeraPaleta możliwości web developera
Paleta możliwości web developera
 
Iron Python I Dlr
Iron Python I DlrIron Python I Dlr
Iron Python I Dlr
 
Silverlight i PHP - jak budować interfejs nowoczesnych aplikacji internetowych?
Silverlight i PHP - jak budować interfejs nowoczesnych aplikacji internetowych?Silverlight i PHP - jak budować interfejs nowoczesnych aplikacji internetowych?
Silverlight i PHP - jak budować interfejs nowoczesnych aplikacji internetowych?
 
Silverlight i PHP
Silverlight i PHPSilverlight i PHP
Silverlight i PHP
 
Nowości Windows Azure
Nowości Windows AzureNowości Windows Azure
Nowości Windows Azure
 
WF w zastosowaniach Web
WF w zastosowaniach WebWF w zastosowaniach Web
WF w zastosowaniach Web
 
Nowe Trendy W Projektowaniu Aplikacji Webowych
Nowe Trendy W Projektowaniu Aplikacji WebowychNowe Trendy W Projektowaniu Aplikacji Webowych
Nowe Trendy W Projektowaniu Aplikacji Webowych
 
JavaScript. Ćwiczenia praktyczne. Wydanie II
JavaScript. Ćwiczenia praktyczne. Wydanie IIJavaScript. Ćwiczenia praktyczne. Wydanie II
JavaScript. Ćwiczenia praktyczne. Wydanie II
 
Podstawy programowania w Drupalu - Drupal idzie na studia - Jarosław Sobiecki
Podstawy programowania w Drupalu - Drupal idzie na studia - Jarosław SobieckiPodstawy programowania w Drupalu - Drupal idzie na studia - Jarosław Sobiecki
Podstawy programowania w Drupalu - Drupal idzie na studia - Jarosław Sobiecki
 

Aplikacje internetowe (2010)