310 likes | 468 Views
PWB524: Portal Enabling Your PB Web Application. John D. Olson Senior Consultant john.olson@sybase.com August 15-19, 2004. The Enterprise. Unwired. The Enterprise. Unwired. Industry and Cross Platform Solutions. Manage Information. Unwire Information. Unwire People.
E N D
PWB524: Portal Enabling Your PB Web Application John D. Olson Senior Consultant john.olson@sybase.com August 15-19, 2004
The Enterprise. Unwired. Industry and Cross Platform Solutions Manage Information Unwire Information Unwire People • Adaptive Server Enterprise • Adaptive Server Anywhere • Sybase IQ • Dynamic Archive • Dynamic ODS • Replication Server • OpenSwitch • Mirror Activator • PowerDesigner • Connectivity Options • EAServer • Industry Warehouse Studio • Unwired Accelerator • Unwired Orchestrator • Unwired Toolkit • Enterprise Portal • Real Time Data Services • SQL Anywhere Studio • M-Business Anywhere • Pylon Family (Mobile Email) • Mobile Sales • XcelleNet Frontline Solutions • PocketBuilder • PowerBuilder Family • AvantGo Sybase Workspace
Portal Enabling Your PB Web Application • Portals • Portlets • User Facing Services • Portal Integration • Look and Feel (content integration) • Sizing • Security/Single Sign-On • URL Rewriting • Session Management • PowerBuilder Web Applications • Interface Decomposition • Service Oriented Architecture (SOA) • DataStores • BLOB communication • Sizing, CSS, URLs • Security
Portal Enabling Your PB Web Application • 2 weeks of material squeezed into 60 minutes • Will cover issues noted in session description • Will not build a PB Web Application and Portal enable it in 60 minutes • Ask questions, limit discussion and distractions • Will be glad to stay and answer additional questions after session
Portals • Dashboards • Workbelts • Windows to data • Business value • Bring separate systems together • “Quick look” capabilities enhance decision making • Provide custom view to each user, job • Enhance productivity • Provide transparent access to remote data sources and functionality • Provide Single Sign-On
Portal Architecture • Web Server • Application Server • Data Store – RDBMS, file system, etc • UDDI • User Admin • User preferences
Portlets • Web applications • Dynamic addressing via UDDI • Contained/Served by the Portal • Multi-functioned or Granular • Typically implemented as IFrames • Value added • Unified security • Cross portlet communication without having to build interfaces
Portlet Architecture • Content • Static • Dynamic • Web Application • Web Server • Application Server • Data Store – RDBMS, file system, etc • UDDI data • User Admin (optional) • User preferences (optional)
Portlet Services • Callable via http, https • Stateless • Types • Visual • User Facing Services (UFS) • Presentation Oriented Services (POS) • Non-visual • Data Oriented Services (DOS) • Uses Portal supported communications • HTML • XML • SOAP
User Facing Services • Delivers renderable markup • HTML • XHTML • XML/XSLT • Presentation Oriented Services (POS) • UFS subtype • Web Services • WSRP – Web Services Remote Protocol • OASIS • Industry standards for • portal and portlet communications • Markup rendering
Data Oriented Services • Web Services • Deliver data as XML • No presentation markup • Leaves presentation generation up to caller • Exposes Data directly or filtered through business logic • Not necessarily related to portals
POS/DOS Hybrid Design • Dual purpose, one Web Service • Deliver • Data as XML • Presentation • For POS • Caller transforms using XSLT delivered by the service • For DOS • caller ignores XSLT and uses only XML data
Portal Integration • Look and Feel (content integration) • Sizing • Security/Single Sign-On • URL Rewriting • Session Management
Portal Integration • Defined by each organization • Industry terms and standards are forming • Levels • Reference (linked) • URL link pops separate browser • No communication between Portal and Portlet application • External • Portlet application loads in Portal browser • No deferral of user preferences and portal styles to portal • URL rewriting • Possible Single Sign-On • Content • External plus… • Well integrated • Uses portal style sheets, sizing
Portal Integration: Look and Feel • Portlets exist within portal browser instance • Can be detached, but remain under control of portal • Fonts, sizes, colors, behavior • Common behaviors across portlets • Support dynamic assignment of style templates
Portal Integration: Sizing • Supports sensible portlet sizes • Defined minimums • Wrapping, when appropriate • Limited use of HScroll and VScroll • Supports portlet resizing
Portal Integration: Security/Single Sign-On • Authentication delegated to portal • Portlet trusts Portal • User Identity passed to Portlet • Portlet may not know password • Portlet must support Portal logout, session timeout and relogin • Portlet continues to manage its own Authorization • Portal must recognize data entry into portlet and not allow main session and other portlets to timeout • LDAP • PKI
Portal Integration: URL rewriting • All resource requests must be made through the portal • Exceptions may be allowed once initial authentication occurs • Portal obtains resource addresses from UDDI registry • Potential problems with URL formats
Portal Integration: Session Management • Stateless Web Services • HTTP Session allows use of session object • Simplifies coding • Improves performance
Portal Integration: Session Management • Session management in EAServer must be linked to HTTP session ID • Java Session Manager allows communications between components in a thread without requiring passing all information as parameters • Jaguar session ID consistent among component uses downstream from client call
PowerBuilder Web Applications • Decomposition • DataWindow HTML • Sizing • Styles/Classes • URLs • Security – special considerations?
Interface Decomposition • Logical Service • One function or business process • May deliver more than one user interface (multi-step processes) • No menus, limited links • Physical Implementation • Granular • one service object per function or business process • Maximum number of PowerBuilder components • Composite • Functions and business processes grouped • Reduces quantity of PowerBuilder components
Service Oriented Architecture (SOA) • N-tier • Data Access Layer • Business Object Layer • Interface Layer • Web Services • XML data • SOAP communications • Find & Bind via UDDI
DataStore BLOBs • Inter-service communication • Great for PB to PB • Bad for non-PB to PB • Design • Non-PB Design • Convey ResultSets or XML data • Multiple conversions required for use with Datastores • Datastore features lost • Hybrid design • BLOBs used for PB to PB • Interface layer of methods on DAO and BO to convert to ResultSet or XML data
DataWindow HTML • Sizing • Styles/Classes • URLs
DataWindow HTML - Sizing • Minimum portlet sizes • Dynamic width/wrapping • Put DW HTML in HTML tables • Fonts/object sizes • Absolute positioning of HTML objects • Well-known problem with text cropping when font changes • Size objects for larger fonts – be aware of portal styles
DataWindow HTML – Styles/Classes • Know breadth of classes • Review all templates • Know guidelines for future templates • Create custom CSS to support DW • DW-specific styles • Override Portal styles that aren’t compatible with DW visuals (colors, sizing, etc) • Assign style classes to DW HTML objects • PB9 or earlier: Requires custom parser • PB10 has implemented assignment of classes
DataWindow HTML - URLs • Embedded URLs all relative • May need to rewrite URLs to services with registry key
Portal Enabling Your PB Web Application • PB Portlets • Deliver appropriate markup • Sizing: Dynamic, Fonts • Look and Feel: Portal Styles • URLs: relative, rewrites • Decompose Interface into processes and functions • Service Oriented Architecture • N-Tier • Separate layers, expose all • EAServer session management • Web Services • DataStores • BLOB/ResultSet/String communication • Security/Single Sign-On infrastructure
PWB524: Portal Enabling Your PB Web Application John D. Olson Senior Consultant john.olson@sybase.com August 15-19, 2004