Politechnika Warszawska - Centralny System UwierzytelnianiaNie jesteś zalogowany | zaloguj się
katalog przedmiotów - pomoc

Wytwarzanie aplikacji internetowych i korporacyjnych

Informacje ogólne

Kod przedmiotu: 103A-INIIT-ISP-PIK Kod Erasmus / ISCED: (brak danych) / (brak danych)
Nazwa przedmiotu: Wytwarzanie aplikacji internetowych i korporacyjnych
Jednostka: Wydział Elektroniki i Technik Informacyjnych
Grupy: ( Metody inżynierii informatycznej )-Inżynieria systemów informatycznych-inż.-EITI
( Przedmioty obieralne )-Inżynieria systemów informatycznych-inż.-EITI
( Przedmioty techniczne )---EITI
Punkty ECTS i inne: 5.00
Język prowadzenia: polski
Jednostka decyzyjna:

103000 - Wydział Elektroniki i Technik Informacyjnych

Kod wydziałowy:

PIK

Numer wersji:

1

Skrócony opis:

Celem przedmiotu jest praktyczne przygotowanie do pracy w zawodzie projektanta/programisty w zakresie aplikacji internetowych i korporacyjnych. Wykład jest poświęcony praktycznym zagadnieniom architektury, projektowania i implementacji współczesnych aplikacji internetowych oraz aplikacji klasy korporacyjnej. Na wykładzie omówione zostaną różne aspekty projektowania poszczególnych warstw aplikacji rzutujące na dobór technologii. Wyżej wymienione zagadnienia zostaną uzupełnione przeglądem najpopularniejszych i najistotniejszych na rynku technologii skupionych w, oraz wokół platformy Java (w tym Java Enterprise Edition, standardy JCP) ale także innych standardów (OMG, W3C) lub rozwiązań popularnych, ale nie będących standardami (np. rozwiązania firmy Google). Omówiony zostanie też współczesny warsztat pracy programisty. W ramach projektu studenci zaprojektują i zaimplementują aplikację z użyciem wybranego stosu technologicznego.

Pełny opis:

Celem przedmiotu jest praktyczne przygotowanie do pracy w zawodzie projektanta/programisty w zakresie aplikacji internetowych i korporacyjnych. Wykład jest poświęcony praktycznym zagadnieniom architektury, projektowania i implementacji współczesnych aplikacji internetowych oraz aplikacji klasy korporacyjnej. Na wykładzie omówione zostaną różne aspekty projektowania poszczególnych warstw aplikacji rzutujące na dobór technologii. Wyżej wymienione zagadnienia zostaną uzupełnione przeglądem najpopularniejszych i najistotniejszych na rynku technologii skupionych w, oraz wokół platformy Java (w tym Java Enterprise Edition, standardy JCP) ale także innych standardów (OMG, W3C) lub rozwiązań popularnych, ale nie będących standardami (np. rozwiązania firmy Google). Omówiony zostanie też współczesny warsztat pracy programisty. W ramach projektu studenci zaprojektują i zaimplementują aplikację z użyciem wybranego stosu technologicznego.

Treść wykładu

  • Pojęcia podstawowe(1): aplikacja internetowa, aplikacja
    korporacyjna, Java Enterprise Edition i jej składowe oraz inne
    rozwiązania. Warsztat pracy programisty:

- zintegrowane środowiska programistyczne (Eclipse, NetBeans, itd.),

- podstawowe informacje dotyczące narzędzi wspomagających proces
wytwarzania aplikacji: automatycznego budowania (m.in. ant, maven),
zarządzania kodem źródłowym SCM i DSCM (svn, mercurial, i in.),
zarządzania projektem/zadaniami. Rozwiązania komercyjne a rozwiązania
otwartego oprogramowania (ang. open source): rodzaje licencji i ich
konsekwencje w projekcie IT. Praca programisty w aspekcie
społecznościowym.

  • Architektura aplikacji(1): architektura wielowarstwowa,
    architektura zorientowana na usługi, szyna korporacyjna, aspekty doboru
    architektury

  • Tworzenie warstwy klienckiej aplikacji(1). Różne aspekty związane
    z GUI: klient gruby i cienki, programowanie deklaratywne a
    imperatywne interfejsów użytkownika, różne sposoby dystrybucji
    aplikacji klienckiej. Podstawowe technologie aplikacji WWW: http, html,
    javascript, json, Ajax.

  • Szkielety (ang. frameworks) (2): rola szkieletów,
    typowe problemy tworzenia aplikacji internetowej, Koncepcja IoC/DI,
    MVC, MVP, EventBus, charakterystyka wybranych szkieletów IoC/DI oraz
    internetowych m.in.: spring, seam, CDI, spring mvc, struts.

  • Przegląd popularnych technologii warstwy klienckiej (3): JSF,
    GWT, Flex, Vaadin, bilbioteki i szkielety javascript (backbone,
    jquery, node.js) i inne, charakterystyka aplikacji portalowych.

  • Tworzenie warstwy logiki biznesowej (2): logika osadzona w
    aplikacji, logika zdalna z użyciem protokołów binarnych i tekstowych:
    EJB, usługi internetowe (ang. web services) oparte na SOAP (W3C),
    "lekkie" usługi oparte na paradygmacie REST, inne podejścia:
    xml-rpc, hessian.

  • Tworzenie warstwy dostępu do danych (1): model relacyjny a
    obiektowy, technologie realizujące odwzorowanie
    relacyjno-obiektowe(ORM): Hibernate, JPA i in. Techniki zwiększania
    wydajności: cache, sharding. Podejścia typu NoSQL (Cassandra, MongoDB i
    in.) ,systemy repozytoryjne (JCR).

  • Architektura zorientowana na usługi/zagadnienia integracji (1)
    (SOA), szyna korporacyjna (ESB), aranżacja usług internetowych:
    BPEL, wzorce EAI

  • Modelowanie i zarządzanie logiką podlegającą częstym zmianom (1):
    procesy biznesowe i reguły biznesowe: modelowanie (notacja BPMN),
    uruchamianie i zarządzanie w obliczu zmian.

  • Zawansowane aspekty (1): bezpieczeństwo aplikacji internetowych,
    zagadnienia wydajności i skalowalności, testowanie i kontrola jakości
    projektu, zagadnienia ciągłej integracji


Zakres projektu
Celem realizowanego zadania semestralnego jest projekt i
implementacja przydzielonego tematu (aplikacja internetowa, aplikacja
korporacyjna, integracja) z dużym naciskiem położonym na proces
wytwórczy, warsztat pracy, projekt systemu.

Projekt przeznaczony jest dla zespołów 3-4 osobowych, zawiera jednak
również elementy oceniane indywidualnie.

Projekt składa się z 4 etapów:

Etap 1: Analizy postawionego problemu, dobór architektury i technologii
z uzasadnieniem

Etap 2: Zapoznania z technologią (oceniane indywidualnie)

Etap 3: Stworzenia warsztatu pracy i zrębu projektu

Etap 4: Zaprojektowania i implementacji


Poprzedniki
Typ poprzednikaNr poprzednikaKod poprzednikaNazwa poprzednika
Zalecany1103C-INxxx-ISP-PROZProgramowanie zdarzeniowe
Zalecany1103B-INxxx-ISP-BDBazy danych 1
Zalecany1103A-INxxx-ISP-BDBazy danych 1
Zalecany1103A-INIIT-ISP-TINTechniki internetowe
Zalecany1103B-INxxx-ISP-PROZProgramowanie zdarzeniowe
Wymagany2103C-INIIT-ISP-IOPInżynieria oprogramowania
Wymagany2103A-INxxx-ISP-PROIProgramowanie obiektowe

Literatura:

    1. Krzysztof Sacha (2010), Inżynieria Oprogramowania. Wydawnictwo
      Naukowe PWN ISBN: 978-83-01-16179-8

    2. Gamma, Erich; Richard Helm, Ralph Johnson, and John Vlissides
      (1995).Design Patterns: Elements of Reusable Object-Oriented Software.
      Addison-Wesley. ISBN 0-201-63361-2.

    3. Fowler, Martin (2002). Patterns of Enterprise Application
      Architecture. Addison-Wesley. ISBN 978-0-321-12742-6.

    4. Freeman, Eric; Elisabeth Freeman, Kathy Sierra, and Bert Bates
      (2004). Head First Design Patterns. O`Reilly Media. ISBN 0-596-00712-4.

    5. Christian Bauer and Gavin King (2006). Java Persistence with
      Hibernate, Manning Publications Co ISBN: 1-932394-88-5

    6. Craig Walls (2011). Spring in Action, Third Edition, Manning
      Publications Co ISBN 9781935182351

    7. Inne książki wydawnictwa Manning dotyczące omawianych technologii.

    8. Dan Pilone, Russ Miles (2008) Head First Software
      Development O`Reilly Media; ISBN 978-0596527358

    9. Inne książki z serii Head First

    10. Gregor Hohpe and Bobby Woolf (2003) Enterprise Integration
      Patterns: Designing, Building, and Deploying Messaging Solutions

    11. Addison-Wesley Professional; ISBN 978-0321200686

    12. Thomas Allweyer (2010) BPMN 2.0, BoD ISBN
      978-3839149850

Metody i kryteria oceniania:

Dwa sprawdziany : 2x20 punktów = 40 punktów

Projekt: 60 punktów

Etap 1: 10p

Etap 2: 10p

Etap 3: 10p

Etap 4: 30p (z czego 15 punktów - realizacja funkcjonalności i
jakość implementacji; 7 punktów - rozliczenie czasu pracy członków
zespołu w oparciu o dostępne narzędzia kontroli projektu i logów SCM; 8
punktów - prezentacja systemu i zapewnienie jakości projektu: testy,
dokumentacja)

Końcowy etap projektu będzie rozliczany na podstawie krótkiej
prezentacji połączonej z demonstracją działania systemu, a także
dokumentacji projektowej.

Zajęcia w cyklu "rok akademicki 2019/2020 - sem. letni" (w trakcie)

Okres: 2020-02-22 - 2020-09-30
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Projekt, 30 godzin, 48 miejsc więcej informacji
Wykład, 30 godzin, 48 miejsc więcej informacji
Koordynatorzy: Jakub Koperwas
Prowadzący grup: Jakub Koperwas, Kamil Żbikowski
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103200 - Instytut Informatyki

Zajęcia w cyklu "rok akademicki 2018/2019 - sem. letni" (zakończony)

Okres: 2019-02-18 - 2019-09-30
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Projekt, 30 godzin, 48 miejsc więcej informacji
Wykład, 30 godzin, 48 miejsc więcej informacji
Koordynatorzy: Jakub Koperwas
Prowadzący grup: Jakub Koperwas, Kamil Żbikowski
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103200 - Instytut Informatyki

Zajęcia w cyklu "rok akademicki 2017/2018 - sem. letni" (zakończony)

Okres: 2018-02-19 - 2018-09-30
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Projekt, 30 godzin, 48 miejsc więcej informacji
Wykład, 30 godzin, 48 miejsc więcej informacji
Koordynatorzy: Jakub Koperwas
Prowadzący grup: Jakub Koperwas, Kamil Żbikowski
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103200 - Instytut Informatyki

Zajęcia w cyklu "rok akademicki 2017/2018 - sem. zimowy" (zakończony)

Okres: 2017-10-01 - 2018-02-18
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Projekt, 30 godzin, 24 miejsc więcej informacji
Wykład, 30 godzin, 24 miejsc więcej informacji
Koordynatorzy: (brak danych)
Prowadzący grup: (brak danych)
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103200 - Instytut Informatyki

Zajęcia w cyklu "rok akademicki 2016/2017 - sem. letni" (zakończony)

Okres: 2017-02-20 - 2017-09-30
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Projekt, 30 godzin, 48 miejsc więcej informacji
Wykład, 30 godzin, 48 miejsc więcej informacji
Koordynatorzy: Jakub Koperwas
Prowadzący grup: Jakub Koperwas
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103200 - Instytut Informatyki

Zajęcia w cyklu "rok akademicki 2015/2016 - sem. letni" (zakończony)

Okres: 2016-02-23 - 2016-09-30
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Projekt, 30 godzin, 44 miejsc więcej informacji
Wykład, 30 godzin, 44 miejsc więcej informacji
Koordynatorzy: Jakub Koperwas
Prowadzący grup: Jakub Koperwas
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103200 - Instytut Informatyki

Zajęcia w cyklu "rok akademicki 2014/2015 - sem. letni" (zakończony)

Okres: 2015-02-23 - 2015-09-30
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Projekt, 30 godzin, 36 miejsc więcej informacji
Wykład, 30 godzin, 36 miejsc więcej informacji
Koordynatorzy: Jakub Koperwas
Prowadzący grup: Jakub Koperwas
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103200 - Instytut Informatyki

Zajęcia w cyklu "rok akademicki 2013/2014 - sem. letni" (zakończony)

Okres: 2014-02-24 - 2014-09-28
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Projekt, 30 godzin, 24 miejsc więcej informacji
Wykład, 30 godzin, 24 miejsc więcej informacji
Koordynatorzy: Jakub Koperwas
Prowadzący grup: Jakub Koperwas
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103200 - Instytut Informatyki

Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Politechnika Warszawska.