1 / 28

Nowe horyzonty: Web/Server-Side/Mobile

Jacek.Pospychala@cs.put.poznan.pl. Nowe horyzonty: Web/Server-Side/Mobile. O autorze. Student inżynierii oprogramowania na Politechnice Poznańskiej Pracownik IBM Eclipse Competence Center Zaangażowany w rozwój projektu Eclipse Plug-in Development Environment (PDE) ‏

devaki
Download Presentation

Nowe horyzonty: Web/Server-Side/Mobile

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Jacek.Pospychala@cs.put.poznan.pl Nowe horyzonty:Web/Server-Side/Mobile

  2. O autorze Student inżynierii oprogramowania na Politechnice Poznańskiej Pracownik IBM Eclipse Competence Center Zaangażowany w rozwój projektu Eclipse Plug-in Development Environment (PDE)‏ Uważny obserwator wielu innych projektów Eclipse, szczególnie JDT, EMF i Equinox Współautor http://eclipser-blog.blogspot.com

  3. Plan prezentacji Co nam dało RCP? Eclipse w przeglądarce – RAP Eclipse w komórce – eRCP Na serwery! – Equinox

  4. Co nam dało RCP? Doświadczenia z IDE i RCP Długa droga do RCP Ewolucja podstawowych koncepcji IDE Rewolucje Wymagania integratorów Stabilna platforma Kompatybilność wsteczna API API Doświadczenia na polu zarządzania API API Tools (Eclipse 3.4)‏

  5. Co nam dało RCP? • Zarządzanie wtyczkami, punkty rozszerzeń, usługi

  6. Co nam dało RCP? • Biblioteka kontrolek graficznych

  7. Co nam dało RCP? • Framework tworzenia aplikacji

  8. Co nam dało RCP? • Aplikacje użytkownika

  9. Eclipse w przeglądarce: RAP RAP – Rich Ajax Platform RWT – RAP Widget Toolkit Aplikacje internetowe w modelu komponentowym Oparcie na znanym API SWT i RCP Wyświetlanie dzięki JavaScript Cały kod aplikacji w Javie Koncepcyjne podobieństwa do GWT

  10. Jak działa RAP? Renderowanie po stronie przeglądarki Biblioteka qooxdoo API SWT zaimplementowane od podstaw API RCP w dużym stopniu nie zmienione Serwer w modelu OSGi Zarządzanie modułami Punkty rozszerzeń Cykl życia komponentów Różnice RCP a RAP Wielu użytkowników Braki w API (kilka kontrolek, część RCP)‏ Dodatkowe funkcje architektury client-server

  11. Jak działa RAP? (c.d.)‏ Większość przetwarzania po stronie serwera Po stronie klienta tylko renderowanie strony Efekty: Koszty wydajnościowe Prostota implementacji

  12. Wygląd aplikacji RAP Duże możliwości definicji wyglądu Własne kontrolki Natywny dostęp do JavaScript (JSNI)‏

  13. Wygląd aplikacji RAP (c.d.)‏

  14. DEMO Aplikacja do zarządzania wydatkami Eclipse Business Expanses Reporting Tool http://www.eclipse.org/examples/expanses Moduły aplikacji: Core – logika aplikacji, niezależna UI – interfejs użytkownika, zależny od RCP API Application – specyficzny dla platformy

  15. DEMO

  16. Eclipse w komórce eRCP = embedded RCP Inicjatorzy: IBM, Motorola, Nokia Środowisko RCP zminimalizowane do możliwości małych urządzeń Model komponentowy OSGi Natywne GUI Wiele aplikacji w jednej VM Oszczędność zasobów Współdzielenie usług Obsługiwane urządzenia: Telefony komórkowe Smart-phone PDA

  17. Obsługiwane platformy MS Windows Windows Mobile 2003 / 2005 / 2006 WinCE 5.0 Nokia S60 Nokia Series 80 Rozważane inne (GTK, Qte, ...)‏

  18. Przykłady zastosowań Anywhere Technologies: Projekt Medany Zbieranie danych medycznych Synchronizacja z aplikacją RCP IBM Lotus Expeditor Nokia: telefony Nokia E90s Sprint:eRCP częścią platformy Sprint - PDA

  19. DEMO Platforma win32 Nokia E90

  20. Na serwery! Wspólny mianownik dla platform RCP, RAP, eRCP Eclipse Equinox runtime Zalety OSGi Mechanizmy Equinox/Eclipse

  21. Zalety OSGi Dynamiczne moduły (wtyczki?)‏ Instalacja i usuwanie modułów Deklaratywne określanie zależności między modułami Wersjonowanie modułów i pakietów Usługi Luźne powiązania Wachlarz standardowych usług Log, HTTP, Preferences, UserAdmin, Position, UPNP... Prostota java -jar org.eclipse.osgi.jar -console

  22. Mechanizmy Equinox/Eclipse Punkty rozszerzeń (plugin.xml)‏ Deklaratywne powiązania między modułami Lazy-loading Provisioning Security Zadania (Jobs)‏ Adaptery ...wiele innych

  23. Wybrane możliwości konfiguracji Equinox w kontenerze serwletów org.eclipse.equinox.servletbridge org.eclipse.equinox.servletbridge.http org.eclipse.equinox.http.servlet [org.eclipse.equinox.http.registry] Equinox z własnym serwerem HTTP org.eclipse.equinox.http.jetty org.eclipse.equinox.http.servlet org.mortbay.jetty org.apache.commons.logging SpringSource Application Platform

  24. SpringSource Application Platform Serwer komponentowy OSGi „out of the box” Integracja z Tomcat Rozszerzenia do specyfikacji OSGi Import-Bundle Import-Library Repozytorium popularnych modułów

  25. Zastosowania US Army: Cyrano Elastyczność Zdalne zarządzanie Rekonfiguracja bez restartowania SkiData Obsługa kolejek górskich Zautomatyzowane parkingi NASA Przetwarzanie obrazów

  26. DEMO Equinox z serverem HTTP Dynamiczne wiązanie usług

  27. Dlaczego się przejmować? Jednakowe API na wszystkich platformach = mniej nauki = mniejsze koszty utrzymania GUI tworzone na różne platformy przy pomocy tych samych narzędzi Modułowa budowa aplikacji – łatwe i spójne zarządzanie Duże re-użycie kodu W przykładowej aplikacji – 90% kodu!

  28. Więcej informacji RAP http://www.eclipse.org/rap/ http://www.eclipse.org/rap/demos eRCP http://www.eclipse.org/ercp Server-Side http://www.eclipse.org/equinox-portal/ Przykładowa aplikacja Expense-Tracking: http://www.eclipse.org/examples/ http://www.eclipse.org/examples/expenses Kontakt: jacek.pospychala@cs.put.poznan.pl

More Related