SlideShare a Scribd company logo
1 of 34
Download to read offline
GateIn Introduction
Michal Vančo & Miroslav Cupák
JBoss QA
22 Nov, 2011
Abstract:
This presentation is an introduction to portal and portlets basics,
features and UI of GateIn Portal. Workshop covers specification
details for portlet development.
GateIn Introduction | FIT VUT2
Agenda
● Motivation for portals & portlets
● GateIn Overview (demo)
● JSR-168 / 286 Portlet development
● Lifecycle, API
● Tag library
● IPC (inter-portlet communication), resources etc.
● Workshop
GateIn Introduction | FIT VUT3
What is portal?
GateIn Introduction | FIT VUT4
GateIn Introduction | FIT VUT5
No! :)
GateIn Introduction | FIT VUT6
GateIn Introduction | FIT VUT7
GateIn Introduction | FIT VUT8
Portal
● A portal is a web based application that provides
personalization, single sign on, content aggregation
from different sources in the form of portlets.
● Framework for integration of information, people and
processes in an organization.
● Set of services/applications.
● Portal server.
GateIn Introduction | FIT VUT9
Types of portals
● General (yahoo.com)
● Community (MySpace.com)
● Business (Amazon.com)
● Information (BBC.co.uk, idnes.cz)
● Enterprise (GateIn, Liferay)
● Horizontal (Seznam.cz) vs. Vertical (CouchSurfing.org)
● B2B, B2C, B2E, G2C
GateIn Introduction | FIT VUT10
Enterprise Portals
GateIn Introduction | FIT VUT11
Advantages
● integration
● single sign-on
● customization & personalisation
● authorization & authentication
● communication
● extensibility
GateIn Introduction | FIT VUT12
What is that 'portlet' thing?
GateIn Introduction | FIT VUT13
Portlet
● Small web application designed to be deployed on
portal server.
● Reusable web component generating dynamic content
(markup fragment) based on requests. Portal
aggregates portlet markup fragments into a complete
portal page.
GateIn Introduction | FIT VUT14
GateIn Introduction | FIT VUT15
● Open source portal server.
● GateIn Portal is a merge of two mature projects that
have been around for a while, JBoss Portal (Red Hat)
and eXo Portal (eXo).
● Based on standards, selected services.
● ...and it's awesome!
GateIn Introduction | FIT VUT16
Anatomy of GateIn portal
GateIn Introduction | FIT VUT17
Main features
● rich user interface, internationalization
● dynamic navigations and page creation (DnD), intuitive
administration
● support for portlet specifications, bridges
● dashboards, gadgets
● IDM
● SSO & LDAP support, OS-JVM & DB compatibility
● content stored in JCR, extensions
● WSRP.
GateIn Introduction | FIT VUT18
Imagine implementing these by yourself...
GateIn Introduction | FIT VUT19
GateIn Introduction | FIT VUT20
GateIn live...
GateIn Introduction | FIT VUT21
Portlet development
GateIn Introduction | FIT VUT22
JSR-168
● Portlet vs. Servlet
● common features:
● generate dynamic content
● components based on Java
● lifecycle managed by container
● request/response model
● portlet specific features:
● generate fragment of pages
● not bound to URL
● communication via portal
● more complex request processing and behavior
● multiple instances on page
GateIn Introduction | FIT VUT23
Portlet container & lifecycle
● Manages lifecycle of portlets
● Distributes requests among portlets
GateIn Introduction | FIT VUT24
Portlet modes & window states
● Modes indicate current portlet function.
● 3 common modes: VIEW, EDIT, HELP.
● Window states determine the amount of space on the
page available to the portlet.
● 3 common states: NORMAL, MAXIMIZED, MINIMIZED.
● Custom states & modes.
GateIn Introduction | FIT VUT25
PortletPreferences & PortletSession
● Session is temporary storage of data to share among
portlets.
● Preferences are used to persist attributes (user-
specific key-value pairs). Typically set in EDIT mode
during processAction phase.
GateIn Introduction | FIT VUT26
JSR-286
● Extends JSR-168 ( + backwards compatible)
● Inter-porlet communication:
● public render parameters
● events
● Resource serving
● Filters, annotations support, advanced AJAX handling.
GateIn Introduction | FIT VUT27
Tag library
● Used in JSP pages
● <% taglib uri=”http://java.sun.com/portlet_2_0” prefix=”portlet” %>
● Allow access to portal specific request/response objects
● <portlet:defineObjects />
● Is used in JSP pages to generate links (actionURL,
renderURL, resourceURL)
● request/response objects can be accessed in scriplet or
EL expressions
GateIn Introduction | FIT VUT28
Request handling (with action & event)
GateIn Introduction | FIT VUT29
Portlet descriptors
● WEB-INF/web.xml
● WEB-INF/portlet.xml
● Contains definitions of portlets, its parameters, modes,
events, PRPs, etc.
GateIn Introduction | FIT VUT30
Let's have some fun!
GateIn Introduction | FIT VUT31
Workshop details
● Generate dynamic web project in JBDS with Portlet facet
● Generate simple portlet & deploy
● Update portlet to render content from JSP
● Create form in JSP & implement processAction
● add another JSP which displays value from form + use
renderURL to return
● Create help mode & display information about signed user
● add link to switch back to view mode (using renderURL)
● Advanced: create edit mode & implement storing and
display of PortletPreferences
GateIn Introduction | FIT VUT32
Important links
● http://jcp.org/en/jsr/detail?id=286
● http://www.jboss.org/gatein/
(Download page, User & Reference Guides)
● http://www.jboss.com/products/platforms/portals/
Contact
mvanco@redhat.com
mcupak@redhat.com
GateIn Introduction | FIT VUT33
GateIn Introduction | FIT VUT34
Thanks for your attention!
See you next week on advanced portlet
development session.

More Related Content

Similar to GateIn Introduction

Portets to composite applications
Portets to composite applicationsPortets to composite applications
Portets to composite applicationsSerge Huber
 
WebSphere Portal Technical Overview
WebSphere Portal Technical OverviewWebSphere Portal Technical Overview
WebSphere Portal Technical OverviewVincent Perrin
 
Introduction to java standard portlets
Introduction to java standard portletsIntroduction to java standard portlets
Introduction to java standard portletsRohan Faye
 
Introduction to Portlets using Liferay Portal (Part 2)
Introduction to Portlets using Liferay Portal (Part 2)Introduction to Portlets using Liferay Portal (Part 2)
Introduction to Portlets using Liferay Portal (Part 2)rivetlogic
 
Introduction to Portlets Using Liferay Portal
Introduction to Portlets Using Liferay PortalIntroduction to Portlets Using Liferay Portal
Introduction to Portlets Using Liferay Portalrivetlogic
 
Portlets & jsr 168
Portlets & jsr 168Portlets & jsr 168
Portlets & jsr 168grsrkumar
 
Web Applications Development
Web Applications DevelopmentWeb Applications Development
Web Applications Developmentriround
 
Webcenter Portlal training...
Webcenter Portlal training...Webcenter Portlal training...
Webcenter Portlal training...Vinay Kumar
 
D22 Portlet Development With Open Source Frameworks
D22 Portlet Development With Open Source FrameworksD22 Portlet Development With Open Source Frameworks
D22 Portlet Development With Open Source FrameworksSunil Patil
 
D22 portlet development with open source frameworks
D22 portlet development with open source frameworksD22 portlet development with open source frameworks
D22 portlet development with open source frameworksSunil Patil
 
Web Application Development
Web Application DevelopmentWeb Application Development
Web Application Developmentriround
 
JEE Conf 2015: Less JS!
JEE Conf 2015: Less JS!JEE Conf 2015: Less JS!
JEE Conf 2015: Less JS!_Dewy_
 
Shindig Apachecon Asia 09
Shindig Apachecon Asia 09Shindig Apachecon Asia 09
Shindig Apachecon Asia 09Nuwan Bandara
 
Enterprise portals, gate to the gold
Enterprise portals, gate to the goldEnterprise portals, gate to the gold
Enterprise portals, gate to the goldSensePost
 
Enterprise Portals - Gateway to the Gold
Enterprise Portals - Gateway to the GoldEnterprise Portals - Gateway to the Gold
Enterprise Portals - Gateway to the GoldSecurity B-Sides
 
Beego meetup 4.4.2017 @ Gett
Beego meetup 4.4.2017 @ GettBeego meetup 4.4.2017 @ Gett
Beego meetup 4.4.2017 @ GettBoris Borshevsky
 
Javascript as a target language - GWT KickOff - Part 2/2
Javascript as a target language - GWT KickOff - Part 2/2Javascript as a target language - GWT KickOff - Part 2/2
Javascript as a target language - GWT KickOff - Part 2/2JooinK
 

Similar to GateIn Introduction (20)

Portets to composite applications
Portets to composite applicationsPortets to composite applications
Portets to composite applications
 
WebSphere Portal Technical Overview
WebSphere Portal Technical OverviewWebSphere Portal Technical Overview
WebSphere Portal Technical Overview
 
Portal Presention
Portal PresentionPortal Presention
Portal Presention
 
Introduction to java standard portlets
Introduction to java standard portletsIntroduction to java standard portlets
Introduction to java standard portlets
 
Introduction to Portlets using Liferay Portal (Part 2)
Introduction to Portlets using Liferay Portal (Part 2)Introduction to Portlets using Liferay Portal (Part 2)
Introduction to Portlets using Liferay Portal (Part 2)
 
Introduction to Portlets Using Liferay Portal
Introduction to Portlets Using Liferay PortalIntroduction to Portlets Using Liferay Portal
Introduction to Portlets Using Liferay Portal
 
Portlets & jsr 168
Portlets & jsr 168Portlets & jsr 168
Portlets & jsr 168
 
Portlets 2.0 JSR286
Portlets 2.0 JSR286Portlets 2.0 JSR286
Portlets 2.0 JSR286
 
Web Applications Development
Web Applications DevelopmentWeb Applications Development
Web Applications Development
 
Webcenter Portlal training...
Webcenter Portlal training...Webcenter Portlal training...
Webcenter Portlal training...
 
D22 Portlet Development With Open Source Frameworks
D22 Portlet Development With Open Source FrameworksD22 Portlet Development With Open Source Frameworks
D22 Portlet Development With Open Source Frameworks
 
D22 portlet development with open source frameworks
D22 portlet development with open source frameworksD22 portlet development with open source frameworks
D22 portlet development with open source frameworks
 
Web Application Development
Web Application DevelopmentWeb Application Development
Web Application Development
 
Portlet
PortletPortlet
Portlet
 
JEE Conf 2015: Less JS!
JEE Conf 2015: Less JS!JEE Conf 2015: Less JS!
JEE Conf 2015: Less JS!
 
Shindig Apachecon Asia 09
Shindig Apachecon Asia 09Shindig Apachecon Asia 09
Shindig Apachecon Asia 09
 
Enterprise portals, gate to the gold
Enterprise portals, gate to the goldEnterprise portals, gate to the gold
Enterprise portals, gate to the gold
 
Enterprise Portals - Gateway to the Gold
Enterprise Portals - Gateway to the GoldEnterprise Portals - Gateway to the Gold
Enterprise Portals - Gateway to the Gold
 
Beego meetup 4.4.2017 @ Gett
Beego meetup 4.4.2017 @ GettBeego meetup 4.4.2017 @ Gett
Beego meetup 4.4.2017 @ Gett
 
Javascript as a target language - GWT KickOff - Part 2/2
Javascript as a target language - GWT KickOff - Part 2/2Javascript as a target language - GWT KickOff - Part 2/2
Javascript as a target language - GWT KickOff - Part 2/2
 

More from Miro Cupak

Exploring the latest and greatest from Java 14
Exploring the latest and greatest from Java 14Exploring the latest and greatest from Java 14
Exploring the latest and greatest from Java 14Miro Cupak
 
Exploring reactive programming in Java
Exploring reactive programming in JavaExploring reactive programming in Java
Exploring reactive programming in JavaMiro Cupak
 
Exploring the last year of Java
Exploring the last year of JavaExploring the last year of Java
Exploring the last year of JavaMiro Cupak
 
Local variable type inference - Will it compile?
Local variable type inference - Will it compile?Local variable type inference - Will it compile?
Local variable type inference - Will it compile?Miro Cupak
 
The Good, the Bad and the Ugly of Java API design
The Good, the Bad and the Ugly of Java API designThe Good, the Bad and the Ugly of Java API design
The Good, the Bad and the Ugly of Java API designMiro Cupak
 
Local variable type inference - Will it compile?
Local variable type inference - Will it compile?Local variable type inference - Will it compile?
Local variable type inference - Will it compile?Miro Cupak
 
Exploring reactive programming in Java
Exploring reactive programming in JavaExploring reactive programming in Java
Exploring reactive programming in JavaMiro Cupak
 
The good, the bad, and the ugly of Java API design
The good, the bad, and the ugly of Java API designThe good, the bad, and the ugly of Java API design
The good, the bad, and the ugly of Java API designMiro Cupak
 
Master class in modern Java
Master class in modern JavaMaster class in modern Java
Master class in modern JavaMiro Cupak
 
The good, the bad, and the ugly of Java API design
The good, the bad, and the ugly of Java API designThe good, the bad, and the ugly of Java API design
The good, the bad, and the ugly of Java API designMiro Cupak
 
Exploring reactive programming in Java
Exploring reactive programming in JavaExploring reactive programming in Java
Exploring reactive programming in JavaMiro Cupak
 
The good, the bad, and the ugly of Java API design
The good, the bad, and the ugly of Java API designThe good, the bad, and the ugly of Java API design
The good, the bad, and the ugly of Java API designMiro Cupak
 
Writing clean code with modern Java
Writing clean code with modern JavaWriting clean code with modern Java
Writing clean code with modern JavaMiro Cupak
 
The good, the bad, and the ugly of Java API design
The good, the bad, and the ugly of Java API designThe good, the bad, and the ugly of Java API design
The good, the bad, and the ugly of Java API designMiro Cupak
 
Master class in modern Java
Master class in modern JavaMaster class in modern Java
Master class in modern JavaMiro Cupak
 
Exploring reactive programming in Java
Exploring reactive programming in JavaExploring reactive programming in Java
Exploring reactive programming in JavaMiro Cupak
 
Writing clean code with modern Java
Writing clean code with modern JavaWriting clean code with modern Java
Writing clean code with modern JavaMiro Cupak
 
Exploring what's new in Java 10 and 11 (and 12)
Exploring what's new in Java 10 and 11 (and 12)Exploring what's new in Java 10 and 11 (and 12)
Exploring what's new in Java 10 and 11 (and 12)Miro Cupak
 
Exploring what's new in Java 10 and 11
Exploring what's new in Java 10 and 11Exploring what's new in Java 10 and 11
Exploring what's new in Java 10 and 11Miro Cupak
 
Exploring what's new in Java in 2018
Exploring what's new in Java in 2018Exploring what's new in Java in 2018
Exploring what's new in Java in 2018Miro Cupak
 

More from Miro Cupak (20)

Exploring the latest and greatest from Java 14
Exploring the latest and greatest from Java 14Exploring the latest and greatest from Java 14
Exploring the latest and greatest from Java 14
 
Exploring reactive programming in Java
Exploring reactive programming in JavaExploring reactive programming in Java
Exploring reactive programming in Java
 
Exploring the last year of Java
Exploring the last year of JavaExploring the last year of Java
Exploring the last year of Java
 
Local variable type inference - Will it compile?
Local variable type inference - Will it compile?Local variable type inference - Will it compile?
Local variable type inference - Will it compile?
 
The Good, the Bad and the Ugly of Java API design
The Good, the Bad and the Ugly of Java API designThe Good, the Bad and the Ugly of Java API design
The Good, the Bad and the Ugly of Java API design
 
Local variable type inference - Will it compile?
Local variable type inference - Will it compile?Local variable type inference - Will it compile?
Local variable type inference - Will it compile?
 
Exploring reactive programming in Java
Exploring reactive programming in JavaExploring reactive programming in Java
Exploring reactive programming in Java
 
The good, the bad, and the ugly of Java API design
The good, the bad, and the ugly of Java API designThe good, the bad, and the ugly of Java API design
The good, the bad, and the ugly of Java API design
 
Master class in modern Java
Master class in modern JavaMaster class in modern Java
Master class in modern Java
 
The good, the bad, and the ugly of Java API design
The good, the bad, and the ugly of Java API designThe good, the bad, and the ugly of Java API design
The good, the bad, and the ugly of Java API design
 
Exploring reactive programming in Java
Exploring reactive programming in JavaExploring reactive programming in Java
Exploring reactive programming in Java
 
The good, the bad, and the ugly of Java API design
The good, the bad, and the ugly of Java API designThe good, the bad, and the ugly of Java API design
The good, the bad, and the ugly of Java API design
 
Writing clean code with modern Java
Writing clean code with modern JavaWriting clean code with modern Java
Writing clean code with modern Java
 
The good, the bad, and the ugly of Java API design
The good, the bad, and the ugly of Java API designThe good, the bad, and the ugly of Java API design
The good, the bad, and the ugly of Java API design
 
Master class in modern Java
Master class in modern JavaMaster class in modern Java
Master class in modern Java
 
Exploring reactive programming in Java
Exploring reactive programming in JavaExploring reactive programming in Java
Exploring reactive programming in Java
 
Writing clean code with modern Java
Writing clean code with modern JavaWriting clean code with modern Java
Writing clean code with modern Java
 
Exploring what's new in Java 10 and 11 (and 12)
Exploring what's new in Java 10 and 11 (and 12)Exploring what's new in Java 10 and 11 (and 12)
Exploring what's new in Java 10 and 11 (and 12)
 
Exploring what's new in Java 10 and 11
Exploring what's new in Java 10 and 11Exploring what's new in Java 10 and 11
Exploring what's new in Java 10 and 11
 
Exploring what's new in Java in 2018
Exploring what's new in Java in 2018Exploring what's new in Java in 2018
Exploring what's new in Java in 2018
 

Recently uploaded

Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendArshad QA
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 

Recently uploaded (20)

Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and Backend
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 

GateIn Introduction

  • 1. GateIn Introduction Michal Vančo & Miroslav Cupák JBoss QA 22 Nov, 2011 Abstract: This presentation is an introduction to portal and portlets basics, features and UI of GateIn Portal. Workshop covers specification details for portlet development.
  • 2. GateIn Introduction | FIT VUT2 Agenda ● Motivation for portals & portlets ● GateIn Overview (demo) ● JSR-168 / 286 Portlet development ● Lifecycle, API ● Tag library ● IPC (inter-portlet communication), resources etc. ● Workshop
  • 3. GateIn Introduction | FIT VUT3 What is portal?
  • 5. GateIn Introduction | FIT VUT5 No! :)
  • 8. GateIn Introduction | FIT VUT8 Portal ● A portal is a web based application that provides personalization, single sign on, content aggregation from different sources in the form of portlets. ● Framework for integration of information, people and processes in an organization. ● Set of services/applications. ● Portal server.
  • 9. GateIn Introduction | FIT VUT9 Types of portals ● General (yahoo.com) ● Community (MySpace.com) ● Business (Amazon.com) ● Information (BBC.co.uk, idnes.cz) ● Enterprise (GateIn, Liferay) ● Horizontal (Seznam.cz) vs. Vertical (CouchSurfing.org) ● B2B, B2C, B2E, G2C
  • 10. GateIn Introduction | FIT VUT10 Enterprise Portals
  • 11. GateIn Introduction | FIT VUT11 Advantages ● integration ● single sign-on ● customization & personalisation ● authorization & authentication ● communication ● extensibility
  • 12. GateIn Introduction | FIT VUT12 What is that 'portlet' thing?
  • 13. GateIn Introduction | FIT VUT13 Portlet ● Small web application designed to be deployed on portal server. ● Reusable web component generating dynamic content (markup fragment) based on requests. Portal aggregates portlet markup fragments into a complete portal page.
  • 15. GateIn Introduction | FIT VUT15 ● Open source portal server. ● GateIn Portal is a merge of two mature projects that have been around for a while, JBoss Portal (Red Hat) and eXo Portal (eXo). ● Based on standards, selected services. ● ...and it's awesome!
  • 16. GateIn Introduction | FIT VUT16 Anatomy of GateIn portal
  • 17. GateIn Introduction | FIT VUT17 Main features ● rich user interface, internationalization ● dynamic navigations and page creation (DnD), intuitive administration ● support for portlet specifications, bridges ● dashboards, gadgets ● IDM ● SSO & LDAP support, OS-JVM & DB compatibility ● content stored in JCR, extensions ● WSRP.
  • 18. GateIn Introduction | FIT VUT18 Imagine implementing these by yourself...
  • 20. GateIn Introduction | FIT VUT20 GateIn live...
  • 21. GateIn Introduction | FIT VUT21 Portlet development
  • 22. GateIn Introduction | FIT VUT22 JSR-168 ● Portlet vs. Servlet ● common features: ● generate dynamic content ● components based on Java ● lifecycle managed by container ● request/response model ● portlet specific features: ● generate fragment of pages ● not bound to URL ● communication via portal ● more complex request processing and behavior ● multiple instances on page
  • 23. GateIn Introduction | FIT VUT23 Portlet container & lifecycle ● Manages lifecycle of portlets ● Distributes requests among portlets
  • 24. GateIn Introduction | FIT VUT24 Portlet modes & window states ● Modes indicate current portlet function. ● 3 common modes: VIEW, EDIT, HELP. ● Window states determine the amount of space on the page available to the portlet. ● 3 common states: NORMAL, MAXIMIZED, MINIMIZED. ● Custom states & modes.
  • 25. GateIn Introduction | FIT VUT25 PortletPreferences & PortletSession ● Session is temporary storage of data to share among portlets. ● Preferences are used to persist attributes (user- specific key-value pairs). Typically set in EDIT mode during processAction phase.
  • 26. GateIn Introduction | FIT VUT26 JSR-286 ● Extends JSR-168 ( + backwards compatible) ● Inter-porlet communication: ● public render parameters ● events ● Resource serving ● Filters, annotations support, advanced AJAX handling.
  • 27. GateIn Introduction | FIT VUT27 Tag library ● Used in JSP pages ● <% taglib uri=”http://java.sun.com/portlet_2_0” prefix=”portlet” %> ● Allow access to portal specific request/response objects ● <portlet:defineObjects /> ● Is used in JSP pages to generate links (actionURL, renderURL, resourceURL) ● request/response objects can be accessed in scriplet or EL expressions
  • 28. GateIn Introduction | FIT VUT28 Request handling (with action & event)
  • 29. GateIn Introduction | FIT VUT29 Portlet descriptors ● WEB-INF/web.xml ● WEB-INF/portlet.xml ● Contains definitions of portlets, its parameters, modes, events, PRPs, etc.
  • 30. GateIn Introduction | FIT VUT30 Let's have some fun!
  • 31. GateIn Introduction | FIT VUT31 Workshop details ● Generate dynamic web project in JBDS with Portlet facet ● Generate simple portlet & deploy ● Update portlet to render content from JSP ● Create form in JSP & implement processAction ● add another JSP which displays value from form + use renderURL to return ● Create help mode & display information about signed user ● add link to switch back to view mode (using renderURL) ● Advanced: create edit mode & implement storing and display of PortletPreferences
  • 32. GateIn Introduction | FIT VUT32 Important links ● http://jcp.org/en/jsr/detail?id=286 ● http://www.jboss.org/gatein/ (Download page, User & Reference Guides) ● http://www.jboss.com/products/platforms/portals/ Contact mvanco@redhat.com mcupak@redhat.com
  • 34. GateIn Introduction | FIT VUT34 Thanks for your attention! See you next week on advanced portlet development session.