Upload
sammy17
View
434
Download
4
Tags:
Embed Size (px)
DESCRIPTION
Citation preview
www.novell.com
Behind the Scenes of Novell Portal Services: A Technical Architectural Explanation
Behind the Scenes of Novell Portal Services: A Technical Architectural Explanation
Matt BrooksSenior Software [email protected]
Tim SchmanskiDevelopment [email protected]
Agenda
• Overview/requirements• The gadget• Page layout• Directory integration• Key features• Implementation scenarios
Overview
• Novell Portal Services is the face of your One Net
Users can access your portal from any web browser
No client or plug-ins are required Content delivered is based on directory
attributes Personalize delivery and presentation
System Requirements
• NDS®* eDirectory™ 8.5• JVM 1.2.2 or higher compliant platform
JVM 1.3 is recommended• Web server• Servlet engine compliant with Java
Servlet 2.2 Spec.
*Novell Directory Services®
System Requirements
• Supported browsers Windows and Macintosh Microsoft Internet Explorer 4.x and above Netscape 4.5 and above
Note: any browser should work (these are just the ones that have currently been tested)
System RequirementsTested Configurations
Platform Web server Servlet engine
NetWare® 5.1SP 2 and JVM 1.2.2
NovonyxApache (1.3.14)
Tomcat (3.2)
Windows NTService Pack 6a
IIS (4.0)Apache (1.3.14)
Tomcat (3.2)
Windows 2000Service Pack 1
IIS (5.0)Apache (1.3.14)
Tomcat (3.2)
Linux Apache (1.3.14) Tomcat (3.2)
Solaris I-PlanetApache (1.3.14)
Tomcat (3.2)
System Requirements
• Administration 100% browser/portal-based
• All administration is done via the portal/any compliant web browser
100% LDAP-based• All communication to the directory is done via
LDAP• The portal can easily be placed inside or outside
the firewall
High-Level Design
BrowserBrowser
Web serverWeb
serverNovell Portal
Services
Novell Portal
Services
Session managerSession manager
Gadget managerGadget manager
Configuration manager
Configuration manager
Authentication manager
Authentication manager
Back-end Back-end data data
sourcessources
Back-end Back-end data data
sourcessources
Gad
get
Gad
get
Gad
get
Gad
get
Gad
get
Gad
get
Single Sign-onSingle Sign-on
The Gadget
• What is a gadget? It provides the data and layout that make
up the portal pages XML and XSL are used to format the portal
pages Gadgets return an XML stream and XSL URL
Novell Portal
Services
Servlet
Novell Portal
Services
Servlet
GadgetGadget
Gadget Interfaces
Configuration manager
Configuration manager
Back-end data
sources
Back-end data
sources
How Data Gets intoNovell Portal Services “Gadgets”
There are different ways to bring data into the portal1. HTML
Any URL that generates HTML can be linked into the portal HTML, ASP, JSP, scripting, etc.
2. XML Any URL that streams XML data can be formatted with a
stylesheet at the portal and included
3. Java Any back-end service that can be accessed via Java can be
presented in the portal
HTML Content
• Wizard-based Can pass credentials—Novell SecretStore™
• Basic• Form fill—POST or GET
Subdivide the page• Only grab the data you want
Personalize content• Add any LDAP attribute into HTML
– <bh>%cn%</bh> inserts common name
XML Data
• XML remote URL where XML data exists
• Any source—ASP, JSP, Novell Script, etc. Location of a stylesheet to render the data
• RSS Any site that publishes in this format can be
consumed and catagorized Hundreds of these feeds are currently available
• http://www.novell.com/newsfeeds/• http://w.moreover.com/categories/
category_list_xml.html
Java Integration
• Native gadget environment Interface and controls available via the SDK
• Developers can leverage the published API to hookinto their applications
• Tools include APIs for state, session, identity,single sign-on, and more
SDK for Novell Portal Services is available• http://developer.novell.com
Application IntegrationChoice Is the Key
• Use a wizard Wizards are provided to record access to web pages Credentials are recorded and stored to provide one-step
access
• Build links and hooks with existing gadgets Citrix XML iFrame
• SDK—Leverage integration with JAVA Leverages the API set in portal services APIs included
• Session, state, authentication, credential store, and more
CollaborationCollaborationExchangeGroupWise® inboxGroupWise calendarPOP3/IMAPNNTP
SystemSystemAuthenticationHTMLiFrameJDBCPortalStatsPortal administrationPreferencesRSSSelf-registrationShortcutUser adminXML remote
ApplicationApplicationAppletCitrixNewsPhonebookStockWeatherNetworkFileGadget
Gadgets Included with Portal Services
Page Layout
• Branding area Branding schemes
• Static portal framework
• Inheritable area Object schemes
• Gadgets inherited through assignment
FooterFooter
Column 3
Column 3
Column 2
Column 2
Column 1
Column 1
HeaderHeader
Branding Area Layout
• Create a branding scheme Choose number of columns Assign gadgets Identify inheritable area For example…
• Column 1—Corporate news gadget• Column 1—Logout gadget• Column 2—Inheritable area
HeaderHeaderHeaderHeader
FooterFooterFooterFooter
Corporate news gadget
Corporate news gadget
Logout gadgetLogout gadget
Branding Area Layout Example
Inheritable Area Layout
• Create an Object Scheme Set on per object basis (U/G/C or Portal Group) One object can have multiple schemes Controls which gadgets are assigned Controls the layout of the assigned gadgets Choose number of columns to use—one, two, or
three
Inheritable Area Layout Example
Object scheme 4
Object scheme 4
Gadget 1 Gadget 2 Gadget 3
Gadget 1 Gadget 2 Gadget 3
Object Scheme 1
Object Scheme 1
Object scheme 3
Object scheme 3
Object scheme 2
Object scheme 2
Combined Layout Example
Gadget 1 Gadget 2
Gadget 1 Gadget 2
OS4OS4Corporate news gadget
Corporate news gadget
FooterFooter
Logout gadgetLogout gadget
HeaderHeader
OS3OS3OS2OS2OS1OS1
AU
X C
LASSBranding
schemes
Object schemes
Directory Object Relationships
PCOPCO
CodeCode
GadgetGadget
Portal groupsPortal
groups
Utilize the Strengths of the Directory
Who you are in the directory matters•All assignments are based on
user/groups/containers…even attributes
Before you start configuring Portal, stop and consider:
1. Which people should have access to what gadgets?
2. How are you going to grant your users access to different gadgets?
Inheritance and Assignments
Personalization—End User
• As much as the administrator is willing to allow
Granularity• Administrators can determine what they want the end
user to be able to modify
Overwrite• Administrators can allow users to change or not to
change by enabling the users ability to overwriteassignments and settings
All overwrites are stored on theuser object in the directory
Portal Groups
Attribute-based inheritance
Membership list
Attributes only
LDAP query of attributes creates dynamic memberships at login time
Name Level Location Title
John Doe Manager Provo Sr. Engineer
Single Sign-on
• Directory credentials for authentication There are two types of authentication: basic
and form fill• Basic is a browser-to-web site method• Form fill is used by most web applications to sign-in
with a POST or a GET• Novell Portal Services will use either of these methods
with your directory credentials to login
Single Sign-on—Credential Store
• Non-standard credentials for access to web-based applications are encrypted and stored in the directory
• Novell Portal Services will prompt you and, via LDAP in the directory, will store the credentials used for authentication
It will use these in basic or a form fill (POST or GET)
Customization—Administrator
• Highly customizable Novell Portal Services is based on XML XML separates data from the presentation
• This makes it easy and efficient to change and update look without touching the data set
The look of the portal can be easily updated to fit the look of the corporation it is being implemented in
Customization—Device Support
• XML provides an easy way to modify the lookfor any device
Change the stylesheets for whatever platform you need
Platforms that cannot handle native XML will be
fed HTML• Non-XML platforms are detected and rendering is done
on the back end
Platform
Implementation ScenariosAll-in-One
Novell Portal Services
Novell Portal Services
LDAP v3 directoryLDAP v3 directory
Platform
Implementation ScenariosOne Better
Web serverServlet engine
Web serverServlet engine
Novell Portal Services
Novell Portal Services
LDAP v3 directoryLDAP v3 directory
Platform Platform
Implementation ScenariosDNS Redundant
Novell Portal Services
Novell Portal Services
Novell Portal Services
Novell Portal Services
Platform
Novell Portal Services
Novell Portal Services
LDAP v3 directoryLDAP v3 directory
Platform
Novell Portal Services
Novell Portal Services
LDAP v3 directoryLDAP v3 directory
Platform Platform
Implementation ScenariosMultiple Replicas
Novell Portal Services
Novell Portal Services
Platform Platform
Novell Portal Services
Novell Portal Services
Platform
LDAP v3 directoryLDAP v3 directory
LDAP v3 directoryLDAP v3 directory Replica Replica Replica Replica
iChain™
Win2K Solaris NetWare
Implementation Scenariosi-Login
LDAP v3 directoryLDAP v3 directory
Novell Portal Services
Novell Portal Services
Novell Portal Services
Novell Portal Services
Novell Portal Services
Novell Portal Services
demonstratiodemonstratio