Integracja Systemów Informacyjnych (projekt)
W ramach zajęć studenci realizują projekt (tematyka i wiodąca technologia dowolna) wykorzystujacy zewnętrzne systemy w celu spełnienia wymagań wyspecyfikowanych na początku semestru.
Wymagania dotyczące projektu:
- Opracowanie rozproszonego systemu informacyjnego (min. 3 moduły), którego moduły komunikują się między sobą za pomocą zaprojektowanego API
- Zamodelowanie procesów biznesowych związanych z planowaną integracją za pomocą języka BPMN
- Integracja z minimum dwiema usługami zewnętrznymi (np. Google Maps, PayU, …) z wykorzystaniem udostepnianych publicznie API
- Utworzenie własnego API w zakresie
- wykorzystania architektury REST
- wykorzystania specyfikacji OpenAPI
- wykorzystania XML Schema oraz mechanizmu XSLT, zapytań XPath
- Wykorzystanie mechanizmów zdalnego wywoływania procedur, np. w oparciu o JSON-RPC, gRPC (protobuf).
- Wykorzystanie kolejek komunikatów (Message-Oriented Middleware, np. RabbitMQ, Apache Kafka, Apache ActiveMQ, NATS, … )
- Wykorzystanie szyny ESB (np. Zato lub Mule) (opcjonalnie)
- Wykorzystanie mechanizmu autoryzacji opartego o protokół OAuth 2.0 (opcjonalnie)
- Zgodność implementacji usług z metodyką The Twelve-Factor App
Przydział tematów jest unikatowy dla każdej grupy projektowej. Grupy projektowe składają się z 3 osób.
Dopuszczone są dwie nieusprawiedliwione nieobecności na zajęciach. Każda kolejna skutkuje obniżeniem oceny końcowej o 0.5.
Ocenie podlegać będzie ogólny postęp w pracach. Na każdych zajęciach grupy prezentują wyniki prac nad kolejnymi etapami projektu. Na każdych zajęciach (za wyjątkiem pierwszych) otrzymać będzie można od 0 do 10 punktów.
Końcowa ocena jest ustalana na podstawie stosunku zdobytych punktów do wszystkich punktów możliwych do zdobycia podczas zajęć:
Punkty | (50%, 60%) | <60%,70%) | <70%,80%) | <80%, 90%) | <90%, 100%> |
---|---|---|---|---|---|
Ocena | dst | dst+ | db | db+ | bdb |
Na ostatnich zajęciach odbywa się prezentacja zrealizowanego projektu w formie krótkiego seminarium
Harmonogram prac (ogólny i przykładowy):
- Zajęcia organizacyjne.
- Prezentacja wybranego tematu, analiza tematu, dyskusja.
- Architektura systemów podlegających integracji, identyfikacja podstawowych procesów.
- Modelowanie procesów integracyjnych w BPMN.
- Modelowanie procesów integracyjnych w BPMN.
- Identyfikacja wykorzystywanych struktur wymiany danych, standardów oraz protokołów.
- Prace implementacyjne.
- Prace implementacyjne.
- Prace implementacyjne.
- Prace implementacyjne.
- Prace implementacyjne.
- Prace implementacyjne.
- Prace implementacyjne.
- Weryfikacja możliwości wykonania zamodelowanych procesów biznesowych.
- Seminarium końcowe.
Literatura
- OMG: BPMN 2.0 By Example
- Gregor Hohpe, Bobby Woolf: Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions
- Simon Brown, Software architecture for developers
- Sam Newman, Budowanie mikrousług
- Susan Fowler, Mikrousługi : wdrażanie i standaryzacja systemów w organizacji inżynierskiej
- Kevin Howard Goldberg, XML: przewodnik po świecie XML.
- Bruce Morgan, Mikroserwisy w akcji
- Matjaz B. Juric, Business process driven SOA using BPMN and BPEL.
- Kasun Indrasiri, Prabath Siriwardena, Microservices for the Enterprise: Designing, Developing, and Deploying
- Thomas Hunter, Advanced Microservices: A Hands-On Approach to Microservice Infrastructure and Tooling
- Sanjay Patni, Pro RESTful APIs: Design, Build and Integrate with REST, JSON, XML and JAX-RS