Creating Novell Portal Services Gadgets: An Architectural Overview

Slides:



Advertisements
Similar presentations
Core Data Trial in North West Institute of Further & Higher Education 27 May 2003 Greg McClure Maureen McKee Davey OHare.
Advertisements

Welcome to Middleware Joseph Amrithraj
 2002 Prentice Hall. All rights reserved. Chapter 9: Servlets Outline 9.1 Introduction 9.2 Servlet Overview and Architecture Interface Servlet and.
Novell eDirectory™ Deployment at Hydro Quebec Richard Cabana Enterprise Technology Account Manager Novell Canada Ltd.
Novell iChain ® 2.x Configuration Using the Web Server Accelerator Wizard Cary Andrews Senior Software Engineer Novell, Inc.
Fast Track to ColdFusion 9. Getting Started with ColdFusion Understanding Dynamic Web Pages ColdFusion Benchmark Introducing the ColdFusion Language Introducing.
Novell’s Strategy for Instant Messaging Jason Williams Product Manager Novell, Inc. Kevin Crutchfield Senior Software.
Christopher M. Pascucci Basic Structural Concepts of.NET Browser – Server Interaction.
Java Server Pages B.Ramamurthy. Topics for Discussion 8/20/20152 Inheritance and Polymorphism Develop an example for inheritance and polymorphism JSP.
Securing Your GroupWise ® System Morris Blackham Software Engineer Novell, Inc. Danita Zanrè Senior Consultant Caledonia.
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
1 Guide to Novell NetWare 6.0 Network Administration Chapter 13.
AN OVERVIEW OF SERVLET TECHNOLOGY SERVER SETUP AND CONFIGURATION WEB APPLICATION STRUCTURE BASIC SERVLET EXAMPLE Java Servlets - Compiled By Nitin Pai.
DSpace UI Alexey Maslov. DSpace in general A digital library tool useful for storage, maintenance, and retrieval of digital documents Two types of interaction:
Using Novell iChain ® 2 to Deliver Internal Network Access without a VPN Brian Six Technical Account Manager Novell, Inc.
1 Accelerated Web Development Course JavaScript and Client side programming Day 2 Rich Roth On The Net
Philadelphia Area SharePoint User Group Building Customer/Partner Extranets Designing a Secure Extranet with Sharepoint 2007 Russ Basiura RJB Technical.
Case Study: DirXML Implementation at Waste Management Rick Wagner Systems Engineer Novell, Inc.
SSL, Single Sign On, and External Authentication Presented By Jeff Kelley April 12, 2005.
Novell iManager Introduction and Overview James Whitchurch Director—Software Engineering Novell, Inc. Karl Ford Engineering.
iChain ® 2.1: Introduction and Overview Lee Howarth Product Manager Novell, Inc.
Upgrading Legacy Novell Directory Services ® to Novell eDirectory ™ 8.6 Rick Killpack WSS Engineer Novell, Inc. Connie.
Beginning Programming with Novell GroupWise ® C3POs John Cox DSE Worldwide Developer Support Novell, Inc.
Using Novell GroupWise ® 6 Monitor Duane Kuehne Software Engineer Novell, Inc. Danita Zanre Senior Consultant NSC Sysop,
Keeping Your Business Online with eDirectory ™ Backup and Restore Brian Hawkins Software Engineer Novell, Inc. Roger.
Introduction to Novell GroupWise ® Administrative Object API Glade Monson Software Engineer Novell, Inc.
Understanding Novell DirXML™ Technology
Slide 1 ASP Authentication There are basically three authentication modes Windows Passport Forms There are others through WCF You choose an authentication.
Beginning Programming with the Novell GroupWise® Object API
FSU Metadirectory Project The Issue of Identity Management Executive Overview.
Custom DirXML™ Driver Development Richard Matheson DirXML Driver Development Manager Manager
Dave Horne eSolutions Deployment Mgr Novell, Inc. Designing and Managing Novell DirXML ™ Deployments.
Intermediate Programming with the Novell GroupWise ® Object API John Cox DSE Worldwide Developer Support Novell, Inc.
Expose the Power of Novell eDirectory ™ Using Novell eGuide: Advanced Configuration and Customization Nathan Jensen Software Engineer Novell,
1 Introduction to Servlets. Topics Web Applications and the Java Server. HTTP protocol. Servlets 2.
Integrating Active Directory with eDirectory ™ Using Novell Account Manager Reid Oakes Technical Team Manager Novell, Inc.
1 Java Server Pages A Java Server Page is a file consisting of HTML or XML markup into which special tags and code blocks are inserted When the page is.
Web-based Storage Access John Pugh Corp Technology Strategist Novell, Inc. Scott Villinski Corp Technology Strategist
ArcGIS for Server Security: Advanced
Introduction to Servlets
Architecture Review 10/11/2004
Intermediate Programming with GroupWise® C3POs™
Java Servlets By: Tejashri Udavant..
Programming with NetWare® XPlat APIs
Novell Account Management Introduction and Overview
Novell BrainShare 200 Simplifying Workstation Management Using Novell ZENworks® for Desktops Prometheus Martin Buckley Product Manager ZENworks for Desktops.
Sébastien BAHLOUL LINAGORA 5 April 2006 – ObjectWeb Meeting - Grenoble
Introduction to Java Servlets on Jakarta Tomcat
Novell BrainShare 2002 Success in the City: Implementing Novell Solutions at the City of Los Angeles Bob Gillette Information Systems Manager City of Los.
Securing the Net: Web Authentication Using SecureLogin
Novell BorderManager® 3.7: Technical Overview
Upgrading Legacy Novell Directory Services® to Novell eDirectory™ 8.6
Jumpstart Solution: Novell Active Information Portal
Extending the Net: Novell Portal Solutions Overview
An Early Look at MySQL™ on Novell NetWare®
Novell Portal Services v1.5: Advanced Concepts
Novell BrainShare 2002 Government Success Story: CRM with Novell Portal Services and eDirectory™ Trent Badger Product Manager Novell, Inc.
Novell iPrint Deployment Strategies
Integrating Web Applications with Novell eDirectory™
Novell Government Solutions
Novell Workspace™ Architecture and Developer Concepts
Introducing Novell IPv6 Stack
Six Reasons to Get NetWare® 6 over Windows
It’s one Net for Mac Users Too
Automating Mainframe Authentication Using SecureLogin
Introduction to NDS® iMonitor
Novell eDirectory™ Competitive Comparisons
Objectives In this lesson you will learn about: Need for servlets
Introduction to Novell GroupWise® Token API
A Network Operating System Edited By Maysoon AlDuwais
Presentation transcript:

Creating Novell Portal Services Gadgets: An Architectural Overview Novell BrainShare 2002 Creating Novell Portal Services Gadgets: An Architectural Overview Scott Villinski CTS Novell, Inc. svillinski@novell.com Kevin James Prototype Systems Developer kjames@novell.com TUT251—Creating Novell Portal Services Gadgets: An Architectural Overview

Agenda Novell vision and mission Novell Portal Services (NPS) architecture NPS gadget overview Additional advanced programming

Vision…one Net Mission Novell BrainShare 2002 Vision…one Net A world where networks of all types—corporate and public, intranets, extranets, and the Internet—work together as one Net and securely connect employees, customers, suppliers, and partners across organizational boundaries Mission To solve complex business and technical challenges with Net business solutions that enable people, processes, and systems to work together and our customers to profit from the opportunities of a networked world TUT251—Creating Novell Portal Services Gadgets: An Architectural Overview

One Step Authentication Novell BrainShare 2002 NPS Architecture Database GroupWare Web content Gadgets HTML HTML Code ASP JSP Scripts XML Information Feeds LOB Engines Java Applications Collaboration Management Administration Legacy Apps One Step Authentication No addition passwords Account management Access rights Novell eDirectory™ One identity Knows you Personalized Novell Portal Services Novell Portal Services rides on top of leading web application servers. This includes environments in windows, linux, Netware, and Solaris. The user simply goes to the URL for the portal – in this example it is the yourcompany.com – the application server passes it to Novell Portal Services. Novell Portal Services prompts the user to then login. Here the id and password are compared against eDirectory. eDirectory can be your current NDS directory or a standalone tree – this is really only dependent on how you implement it. eDirectory acts as the secure database for all the data and user information that is used to build the portal. Novell Portal Services uses this to build a personalized page for the user – based on who they are in the directory. This is done based on their business context – the context of who they are in your organization – their department, title, location, etc. to build and present the correct information. The building blocks of the user presentation are called gadgets. They are windows of information from your intranet and the internet. They can access data and information in HTML, XML, and JAVA – accessing Databases, GroupWare, and Web Content. They also provide ease of password access as they can securely store user ids and passwords in eDirectory so users don’t have to keep re-entering their information over and over again. Web application server http://www.digitalairlines.com TUT251—Creating Novell Portal Services Gadgets: An Architectural Overview

What Is a Gadget? Application used to interface with resource Databases, directories, files, Internet resources Can be remote or native Consists of XML and XSL Transformations (XSLT) Integrates with Novell eDirectory™ using NPS APIs Doesn’t require knowledge of Novell eDirectory APIs or LDAP APIs

Novell Portal Services SDK http://developer.novell.com/ndk/npssdk.htm Gadget runner Tomcat engine LDAP emulator Documentation API Docs Sample code

High-Level Design User logs on and requests database information Request is forwarded to the gadget responsible for that information Gadget accesses client’s authentication information from the directory Gadget retrieves information from the back-end server Gadget presents information to the Novell Portal Services servlet as an XML stream Information is delivered to user

Simple Gadget Process Flow Manager 7 7. NPS renders XML and XSL to HTML 1 1. Http request for http://ipaddress/nps 2 2. Determine what gadgets are for this user’s page Gadget 3 3. Return gadget name 4 4. Call gadget’s getData() NPS 5 5. Return gadget’s XML data Stylesheet 6 6. Grab the gadget’s XSL file

Creating a Simple Gadget Extend the BaseGadgetInstance public class NIMSStats extends com.novell.nps.gadgetManager.BaseGadgetInstance Override the getData method public void getData(HttpServletRequest req, BufferedWriter out, Document domTree) throws GadgetInstanceException

Extend BaseGadgetInstance

Override getData() Method

Resulting XML Document

Corresponding XSL Document

Corresponding XSL Document

Advanced Gadget Process Flow Manager 2 2. NPS asks Gadget Manager for gadget instance matching GI_ID provided in form data 1 Browser makes POST request with form data 9 9. NPS combines XML and XSL to create HTML document to return to browser 3 3. Gadget Manager returns gadget instance that matches GI_ID passed in the form data Gadget 4 4. NPS calls gadget’s processRequest method, passing a HttpServletRequest object containing the form data NPS 5 5. After processing the form data, maybe setting some values in the user’s session, processRequest returns 6 6. NPS calls gadget’s getData method 7 7. Gadget returns an XML fragment—depends on gadget’s design and user’s configuration Stylesheet 8 8. NPS gets gadget’s stylesheet

Creating an Advanced Gadget Extend the BaseGadgetInstance public class NIMSList extends com.novell.nps.gadgetManager.BaseGadgetInstance Override the getData method public void getData(HttpServletRequest req, BufferedWriter out, Document domTree) throws GadgetInstanceException Override the processRequest method public void processRequest (HttpServletRequest req) throws GadgetInstanceException

Extend BaseGadgetInstance

Override getData() Method

Override processRequest() Method

Additional Advanced Programming Reading configuration Writing configuration Overriding default XSL stylesheet Debug logging

Read Configuration Process Flow Novell BrainShare 2002 Read Configuration Process Flow Directory 4 4. Configuration manager queries directory for user/ gadget assignment configuration 5 5. Data is returned from the directory Configuration Manager 1 Browser makes POST request with form data 9 9. NPS combines XML and XSL to create HTML document to return to browser 3 3. Gadget calls getConfigSetting (inherited from BaseGadgetInstance) 6 6. Configuration manager calculates the setting value and returns it to the gadget NPS Gadget 7 7. Gadget generates XML document based on returned setting 2 2. NPS calls gadget’s getData method 4 / 5 / 6. The Configuration manager will get from the directory the settings for the gadget assignment, and the settings on the user, and then create a configuration object based on the overwritable / cumulative flags for the gadget instance. 8 8. NPS gets gadget’s stylesheet Stylesheet TUT251—Creating Novell Portal Services Gadgets: An Architectural Overview

Extend BaseGadgetInstance

Override getData() Method

Reading Configuration Used to store configuration information in the directory To read a configuration getConfigSetting

Gadget Configuration Settings Gadget configuration settings can be Overwritable—meaning a user can over write the setting Cumulative—add up all of the settings 1 = True 0 = False getConfigSetting() Overwritable=True Overwritable=False Cumulative=True Gadget Value 1 User Value 1 Cumulative=False

Write Configuration Process Flow Novell BrainShare 2002 Write Configuration Process Flow 7 7. Status of write is returned from directory Directory 6 6. Configuration manager writes setting to users’ bhConfigRW attribute Configuration Manager 1 Browser makes POST request with form data 11 11. NPS combines XML and XSL to create HTML document to return to browser 8 8. Configuration manager returns status of config write to gadget 5 5. Gadget calls writeConfig (inherited from BaseGadgetInstance) 3 3. Gadget calls setConfigSetting (inherited from BaseGadgetInstance) 4 4. Configuration manager updates its internal representation of the setting, and returns NPS 2 2. NPS calls gadget’s getData method Gadget 9 9. Gadget generates XML document based on returned setting 4 / 5 / 6. The Configuration manager will get from the directory the settings for the gadget assignment, and the settings on the user, and then create a configuration object based on the overwritable / cumulative flags for the gadget instance. 10 10. NPS gets gadget stylesheet Stylesheet TUT251—Creating Novell Portal Services Gadgets: An Architectural Overview

Writing Configuration Used to create/update configuration information If setting doesn’t exist, will create it

Overriding default XSL Stylesheet By default, main.xsl is the stylesheet used For example: XML Remote gadget overrides the default stylesheets Use this: getStylesheetAndResourceSets

Debug Logging NPS provides a logging facility Messages can be sent to the servlet screen or a log file Logging level is configured in the Portal Admin