Tvorba informačních systémů Michal Krátký 1, Miroslav Beneš 1 1 Katedra informatiky VŠB Technická univerzita Ostrava Tvorba informačních systémů, 2005/2006 c 2006 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 1/24
Michal Krátký tel.: +420 596 993 239 místnost: A1004 mail: michal.kratky@vsb.cz web: http://www.cs.vsb.cz/kratky www.cs.vsb.cz/kratky/courses/2005-06/tis c 2006 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 2/24
Cíl kurzu Předmět je zaměřen na vytváření rozsáhlejších informačních systémů, založených zejména na architektuře klient/server, případně na architekturách vícevrstvových. Formou přehledových přednášek studenti získají také základní znalosti o technologiích J2EE a.net, s jejichž použitím se seznámí rovněž formou praktických úloh zaměřených na implementaci webových aplikací. c 2006 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 3/24
Náplň kurzu 1 Architektury informačních systémů. 2 Tvorba informačních systémů v prostředí Internetu. J2EE - JDBC, JSP, Struts, EJB.NET - ODBC, ADO.NET, ASP.NET 3 Moderní datové modely (objektově-relační, XML). 4 Vybrané kapitoly z teorie databází. c 2006 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 4/24
Podmínky získání zápočtu Náplní projektu je realizace informačního systému v prostředí internetu s využitím zvolených vývojových nástrojů a technologií. Řešení projektu bude průběžně konzultováno v rámci cvičení. V polovině semestru proběhne prezentace zadání, specifikace požadavků a analýzy projektů. Na závěr proběhne obhajoba. Pro udělení zápočtu je třeba získat alespoň 21b ze 40b. Na zkoušce formou testu je nutné získat 30b ze 60b možných. c 2006 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 5/24
Témata projektů 1 Přihlašování na zkoušky. 2 Předběžný zápis do předmětů. 3 Zápis na cvičení. 4 Přihlašování k projektům. 5 Elektronické zkoušení. 6 Anketa k hodnocení výuky. 7 Informační systém pro recenzi článků na konferenci (3 studenti). 8 Registrace (poplatek, strava, ubytování) na konferenci (či libovolnou jinou akci) (1 student). 9 Informační systém skupin sdílejících informace na webu (diskuse, seznamy publikací, články) (3 studenti). c 2006 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 6/24
Požadované řešení 1 Java nebo.net. 2 Upřesnění zadání + analýza. 3 Návrh relačního schématu. 4 Vkládání a editace základních údajů. 5 Vlastní akce. 6 Výstupní sestavy. 7 Dokumentace. c 2006 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 7/24
Literatura 1 Java http://java.sun.com, 2.NET http://msdn.microsoft.com 3 http://www.theserverside.com http://www.theserverside.net 4 Marty Hall: Java servlety a stránky JSP. Neocortex, Praha, 2001. 5 Dalibor Kačmář: Programujeme.NET aplikace. Computer Press, 2002. 6 R. Szturc: Java technologie. http://www.cs.vsb.cz/java/index.html 7 B. Eckel: Thinking in Java, http://www.mindview.net/books/tij 8 B. Eckel: Thinking in C++, http://www.mindview.net/books/ticpp c 2006 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 8/24
Co je to architektura systému? 1 Soustava pojmů, prvků, struktur a interakcí systému z pohledu vnějšího pozorovatele 2 Popis požadované architektury 1 systému před jeho vytvořením 3 Věda a umění návrhu architektury 2 systému. c 2006 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 9/24
Účel architektury Pochopit, co budujeme celkový obrázek, zodpovědnost podsystémů a návrhářů, jak zvládnout další růst systému, kde by se mohly vyskytnout problémy. Připravit se na změny požadavků nebo přístupů k implementaci c 2006 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 10/24
Požadavky na dobrou architekturu Umožňuje vývojářům pochopit jejich úkol v kontextu celého systému. Zachycuje současné potřeby projektu. Je stabilní při dalším rozšiřování. Izoluje zbytek systému od změn v některé z jeho částí. Umožňuje opakovanou použitelnost konceptů, prvků a struktur při rozšiřování systému. c 2006 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 11/24
Používané přístupy Metody a třídy Subsystémy Úlohy Aplikační rámce a knihovny Vrstvová struktura layers Hierarchická struktura - tiers c 2006 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 12/24
Subsystémy Balíky těsně vázaných tříd s dobře definovaným rozhraním Příklad: osoby, předměty, zkoušky Snížení složitosti oddělením rozhraní od implementace Správa jediným týmem c 2006 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 13/24
Úlohy Vertikální členění aplikace podle oblastí Příklad: věda a výzkum, studium, ekonomika Snižuje pravděpodobnost interakce mezi subsystémy Zjednodušuje komunikaci mezi týmy Mezi úlohami lze definovat formální rozhraní c 2006 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 14/24
Aplikační rámce a knihovny Aplikační rámec je množina abstraktních a konkrétních tříd tvořících dohromady generický softwarový systém. Umožňují se soustředit na specifické problémy aplikace Možné scénáře: rámce předcházejí vývoji aplikace rámce následují za vývojem aplikace (zobecnění) vývoj rámce současně s aplikací - nevhodné c 2006 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 15/24
Vrstvová struktura Logické členění subsystémů aplikace do vrstev (layers) Příklad: prezentace, ukládání dat, logika aplikace Každá vrstva představuje abstrakci s vlastní zodpovědností jednodušší pochopení a použití vrstvy jednodušší vývoj v rámci vrstvy Vyšší vrstvy jsou izolovány od změn v implementaci nižších vrstev c 2006 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 16/24
Hierarchická struktura Hierarchické členění aplikace mezi více procesů Nastává uvnitř vrstev Zvyšuje vnitřní složitost vrstev Příklad J2EE: Session Beans Entity Beans c 2006 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 17/24
Kombinace přístupů Nejčastější varianta vedoucí ke zjednodušení rozsáhlých a složitých systémů Návrh architektury systému musí předcházet návrhu subsystémů subsystémy se strukturalizují v souladu s architekturou náklady na přepracování aplikace a přeškolení vývojářů při změně architektury c 2006 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 18/24
Příklad kombinované architektury c 2006 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 19/24
Architektura J2EE c 2006 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 20/24
Součásti J2EE Servlets + JSP - webové komponenty a UI JDBC - práce s databázemi EJB - distribuované komponenty JAXP - práce s XML, zasílání zpráv JNDI - jmenné a adresářové služby RMI - volání vzdálených metod JavaIDL - distribuované objekty CORBA JMS - asynchronní zpracování zpráv JavaMail - zasílání zpráv e-mailem JTA - distribuované transakce JCA - připojení k jiným systémům (např. SAP) c 2006 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 21/24
Architektura.NET c 2006 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 22/24
Součásti.NET Framework CLR - Common Language Runtime, Common Intermediate Language (CIL) ADO.NET - přístup k datům ASP.NET - webové aplikace Windows Forms - uživatelské rozhraní CTS - Common Type System, základní datové typy. CLS - Common Language Specification, podmnožina CTS. programovací jazyky - C#, C++,... c 2006 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 23/24
Obsah kurzu - technologie Prezentační vrstva JSP & Java Servlets ASP.NET Aplikační rámce a knihovny Jakarta Struts Komponenty Enterprise Java Beans Přístup k datům ODBC/JDBC ADO.NET Webové služby SOAP Programovací jazyky Java, C# c 2006 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 24/24