150 likes | 269 Views
The ETICS Web Portal WP5 activity. Tomasz Kokoszka CERN/WP5. Agenda. Motivation and goals for the ETICS web-portal Architecture Technology behind (GWT) Current status of work 15 slides, ~20minutes. Motivation, goals. Single start point for all web base applications
E N D
The ETICS Web PortalWP5 activity Tomasz Kokoszka CERN/WP5
Agenda • Motivation and goals for the ETICS web-portal • Architecture • Technology behind (GWT) • Current status of work • 15 slides, ~20minutes
Motivation, goals • Single start point for all web base applications • Common look and behavior • Implementation of common functionality, like • Authentication • Web-service access • Mail sending • Exception handling • Common UI components • Configuration file handling • Interaction between applications • That is exactly what ETICS portal is about
Example • https://etics-test.cern.ch:8443/eticsPortal/ banner user information Tabs to select an application (portlet) Selected application Common UI components
Embedded applications (portlets) • User self registration • Administration • Web Client • ETICS Repository browser • My ETICS
Architecture - client-server Web browser Application server Remote services Web-Service build-system Rich client technology: GWT Java Script CSS Server technology: GWT, Java Real simple RPC (GWT) Web-Service repository
Implementation based on GWT • Google Web Toolkit is a framework to program client side of web applications and interaction between client and server side using Java language. • Provides a compiler from Java 1.4 (with limitations) to JavaScript: • Generates separate sets of JS files for every supported browser • During execution time loads one proper for remote browser
Implementation based on GWT • Main advantages: • Great performance and browser compatibility • Static code checking (compilation), types, build-in serialization mechanism • Isolates from HTML, all visual components and actions wrapped inside GWT widgets (similar to SWING approach) • Look customized by CSS • GWT Real Simple RPC mechanism: • Automatic object serialization/deserialization (similar to java.io.Serializable) • Only asynchronous calls • Communication initiated only by client side
Architecture - components portal portlet 1 commons portlet 2 portlet N A B Module A depends on B
Architecture - components • Portal • Starting point: • Authenticates remote user, initializes server side • Initializes registered portlets, organizes portlets in tabs • Provides information exchange mechanism for portlets • ETICS component name: org.etics.portal.new-application • Artifact: eticsPortalWA.war
Architecture - components • Commons • Provides common functionality: • Reusable UI components + CSS • Wrapper for build web-service based on 2 design pattern: façade & transport objects • Mail sender • Configuration file loader • Authentication • ETICS component name: org.etics.portal.web-commons • Artifact: eticsWebCommons.jar
Architecture - components • Portlet: • Emended application providing starting point in form of a Java class implementing dedicated interface • Implements both client & server side • ETICS component name: org.etics.*.web-portlet • Artifact: etics*Portlet.jar
Status • Portal: • Prototype available • Missing parts: • Mechanism to exchange information between portlets • Mechanism to automatically add new portlets • Documentation • Commons: • Prototype available • Missing parts: • Major UI components, like ETICS module hierarchy, Wizard creator etc. • CSS compliant with ETICS color scheme • Documentation • Portlets: • User self registration – available • Administration – in progress • My ETICS – in design stage
People involved • Marc-Elian Bégin – manager • Lorenzo Dini – consultance, design • Alberto Conte – CSS refactor • Tomasz Kokoszka – main developer
Questions QUESTIONS