Application Integration with WebSphere Portal V7 Rapid Portlet Development with WebSphere Portlet Factory IBM Innovation Center Dallas, TX 2010 IBM Corporation
Objectives WebSphere Portal IBM Innovation Center - Dallas Product Overview Portlet Factory Features & Concepts New Features of WebSphere Portlet Factory 7 Positioning Portlet Factory with Other Development Tools Resources Slide 2
Portal Tooling General Themes Exceptional Web Experience Out-of-the-box 1 2 3 4 Improved Generated User Interface Lots more Dojo! Ease of Use Performance & Scalability Platform Support Exploit Portal Version 7 features. Portlet & iwidget development Portlet Factory V7 RAD V8 Portal Toolkit Slide 3
Rapid Application Creation and Customization Tooling IBM WebSphere Portlet Factory simplifies & accelerates the development, deployment, maintenance, and reuse of custom portlets and applications. Key Features: Rapid iterative development Robust integration capabilities Service-oriented development Simple deployment to WebSphere Application Server, WebSphere Portal or Lotus Notes 8 clients Automation Change Reuse 4 Slide 4
Key Portlet Factory features Rapid development of portlets and web applications with rich Web 2.0 capabilities Multi-page, complex portlets and applications without coding Rapid iteration and change Model driven, wizard-based Extensive Dojo support Comprehensive integration capabilities (SAP, Domino, PeopleSoft, Siebel, Web/REST services, relational DB, and more) Automated support for service-oriented (SOA) development Dynamic profiling capability, to create multiple variations from a single source model Seamlessly plugs into existing development environments (Eclipse SDK, Rational ) Support for multiple deployment platforms WebSphere Portal WebSphere Application Server IBM Mashup Center (widgets) 5 Slide 5
Objectives WebSphere Portal IBM Innovation Center - Dallas Product Overview Portlet Factory Features & Concepts New Features of WebSphere Portlet Factory 7 New Features of WebSphere Portlet Factory 7 Positioning Portlet Factory with Other Development Tools Resources Slide 6
Portlet Factory software automation Generates applications without writing code Uses a model-based development paradigm based on automation of design patterns Is continually updated with new standards and technology, while preserving compatibility for existing customer assets As new technologies such as Dojo are added, you don t have to learn new tools and libraries Portlet Factory generates the code for you Has been proven in the market for several years and deployed in critical applications by many customers Builders Application Model Libraries and code Slide 7
Build Portlet Factory applications once, deploy anywhere Deployment flexibility: Provide right user experience based on target audience from a single code base Portlet Factory WebSphere Portal WebSphere Application Server Notes 8 / Expeditor Lotus Mashups Component libraries Such as Dojo Slide 8
Portlet Factory Components Developer tool Portlet Factory Designer Plug-in for Eclipse or Rational Application Developer Applications folder Factory application Server component Automation Engine Runs as a WAR file on J2EE app server or Portal Server Automation components Builders Models Profile Sets Traditional code *If necessary Request Executed via Servlet or Portlet API *If necessary Factory controller Core Portlet Factory technology is used by both the design environment and the server. In the runtime, the following pieces support dynamic profiling: Generated executables JSP files Java classes Response Regeneration engine Models, Builders, and Profiling Slide 9
Portlet Factory Data Services Layer The Data Services Layer provides full support for the service provider & consumer paradigm required in an SOA environment. It enables the definition of clean, well defined service interfaces that separate the user interface from back end data. Reuse existing assets Use one data service to drive display of multiple portlets Reuse same UI with different data services Slide 10
Portlet Factory Data Services Layer Service Provider Model (back-end data access) Defines a service within an application providing one or more operations. The service can then be referenced by Service Consumer models. Easily create services from SQL, SAP, Domino, Siebel, PeopleSoft, Java methods, etc. Optionally created WSDL description for services Generates complete test pages, dramatically reducing time needed to QA services Enables developers to work disconnected by creating a stub service with sample data Automatically documents the service operations, inputs, and outputs Service Consumer Model (front-end presentation) Uses Service Consumer builders to invoke service operations made available by Service Provider models Supports quick creation of dynamic presentation layer with builders capable of creation complex UI elements using data obtained via the service provider. You will use service provider and service consumer model in the lab Slide 11
Leverage existing applications WSRP Slide 12
Building Blocks: Builders, Profiles, and Models Builder An adaptive, reusable component that generates Java, XML and JSP for specific portlet functionality Profile A set of parameters that vary Builder inputs to dynamically generate unique versions of the portlet Model A container of Builders Slide 13
Models and Builders Model XML file contains a list of calls to Builders with all the Builder inputs specified at design time Typically, a model is used to develop a portlet or service. Builders generate the entire application Each Builder can: Introspect the application elements Create new elements in application Modify any existing elements in application Invoke any other Builders in the system Slide 14
Builders WebSphere Portal IBM Innovation Center - Dallas Capture design intelligence and automate the creation of code Perform specific automation tasks based on inputs or parameters specified by users Can be easily created to automate any type of software development Have automatically generated, easy to use, wizard-like interfaces Increase developer productivity, decrease coding errors, and enforce company coding conventions or standards Slide 15
Faster creation of applications Add application functionality using Builder Picker Search for builders Display recommended builders Display documentation dynamically based on builder selection Create and manage favorite builder list Slide 16
Extensible Builder library automates top tasks Approx. 200 out-of-the-box Portlet Factory Builders Generate user interfaces Support SOA Simplify portal integration Demonstrate AJAX techniques Provide Data Integration Builder Picker showing available builders in alphabetic order (partial list) Provide Application Integration Java Support Custom Builder creation support Dojo Slide 17
Intuitive Navigation Click Link with Application tree icon ( ) and automatically display the design or code view Display WebApp Tree Click to display design view and/or generated code Display design or generated code view Slide 18 18
Visual Application Development View and edit user interface components visually View Pages Provide suggested builders intelligently based on context Edit Pages Visually Slide 19
Debug Applications Easily Configure WAS CE in debug mode by default Set breakpoints on methods, pages, event handlers and data service operations Step through code Watch variables during execution Toggle Breakpoints Step Through Code View Variable Values Slide 20 20
Dynamic Profiling Create unique, role-based portals and dashboards with Portlet Factory s patented automation and dynamic profiling technology. Portals can adapt unique: Roles Preferences Structure Presentation Flow Data views Access rights Slide 21
Profiles Profiles can be used to generate multiple applications from a single source Model Using profiles, you can automatically generate different variations of a portlet (from the same model) for different users, customers or situations. During regeneration, values from the selected profile are used for specified builder inputs The values are fed into a builder based on user identity or other contextual information, such as language. Because the entire application is created by Builders, and any Builder inputs can be profiled: There are no limits on what can be modified by profile Presentation, workflow, logic, services, etc., can all be varied by profile as much as you want Slide 22
Profiles WebSphere Portal IBM Innovation Center - Dallas A profile contains a set of parameters (name/value pairs) that are used to dynamically generate customized software. Enable business users to design, create, and change the applications without requiring additional coding by developers Enable changes to propagate to all application instances Eliminate hand-coding of variations Slide 23
Application Instance Creation Application instances Profiles Products Sale VP Profiles Sales Manager Regions Sale VP Sales Rep Sales Manager Profiles Sales Rep Sale VP Roles Sales Manager Sales Rep Profile sets Regeneration Models with Builders When a model is regenerated, each builder in the model executes in sequence and creates pieces of the portlet, such as JSPs or Java methods. During regeneration, profiles can feed different inputs to builders based on the user or situation, automatically creating custom portlets on the fly. Slide 24
Seamless Integration into Portal Infrastructure WebSphere Portal Collaboration (People Awareness) Single Sign On (Credential Vault) Portlet to Portlet Communication (Click-to-Action & Portlet Wiring) WebSphere Portal Groups WebSphere Portal Modes Automated deployment 25 Slide 25
Objectives WebSphere Portal IBM Innovation Center - Dallas Product Overview Portlet Factory Features & Concepts New Features of WebSphere Portlet Factory 7 Positioning Portlet Factory with Other Development Tools Resources Slide 26
Portlet Factory Version 7 Improved generated user interface Ajax behavior by default More Dojo widgets and controls. Dojo controls available by default Ease of use Easier CRUD application construction. Automated page construction and navigation More WYSIWYG visual design capabilities Best Practice Wiki available directly from Designer Performance & Scalability Reduced default WAR size Performance best practice features integrated into builders Platform Support Exploitation of Portal Version 7 features Symphony spreadsheet import/export Slide 27
Develop Applications on Windows, Linux (and other) platforms Operating Systems * Microsoft Windows 2003 / 2008 SP2 SE and EE Microsoft Windows 7 Enterprise and Professional Microsoft Windows XP SP2 Professional Microsoft Windows Vista Enterprise Red Hat Enterprise Linux release 4 update 6 Red Hat Enterprise Linux 4.0 Update 6 Red Hat Enterprose Linux 5.0 Update 2 SUSE Linux Enterprise SLED (10, 11) SUSE Linux Enterprise SLES (10, 11) AIX (5.3, 6.1) POWER System IBM i (5.4, 6.1. 7.1) POWER System Solaris (9, 10) SPARC Solaris 10 x86 Integrated Development Environments (IDEs) IBM Rational Application Developer IBM Rational Software Architect IBM Rational Web Developer Eclipse SDK 3.5.1 bundled with Portlet Factory 7.0 installation package Eclipse SDK *See http://www-01.ibm.com/support/docview.wss?rs=3044&uid=swg27018546 28 Slide 28
Deployment Platforms Supported application servers WebSphere Application Server 6.1.x and 7.x Apache Tomcat 6.x (Development use only) WebSphere Application Server Community Edition 2.1 (Development use only) Supported portal servers WebSphere Portal 6.1.x and 7.x Portlet API support Java Portlet Standard 1.0 (JSR 168) Java Portlet Standard 2.0 (JSR 286) to WAS JSR 168 container iwidget Support IBM Mashup Center 2.0 (Lotus Mashups) Supported server configurations Slide 29
Portlet Factory supported feature sets Expanded set of supported Features Now includes Spreadsheet Extension feature set supporting Open Document (Lotus Symphony) format (in addition to MS Excel) IBM ILOG JViews Charts Provides a comprehensive, robust suite of charting components for visualizing data Includes bar, bubble, dial, line, pie, radar, scatter, and step charts ILOG entitled for evaluation use only, license purchase required for production deployment. Upgrade to WebSphere Dashboard Framework to expand ILOG entitlement. Slide 30
Portlet Factory new builders List, search results New Data Services UI builder generates the complete user interface for a CRUD application Uses new Data Service metadata that defines logical operations Retrieve List, Retrieve One, Update, Search, Create, Delete SQL and Domino builders automatically generate metadata For other data sources such as Web/REST services, you can define logical operations using the Service Definition builder Data Services UI builder can automate a number of UI design patterns: List view with optional Details, Update, Create, and Delete Optional filter inputs Search inputs and results List view that fires an event for details Details view that receives an event Details List Filter Search Query Update, create Slide 31
Portlet Factory new builders (cont.) New SQL Table Create builder creates a new database table with specified fields and implements complete CRUD service provider functionality Generate and populate relational database tables for creating new applications that don't rely on existing data Specify table name, column names, data types and primary key Optionally, provide sample data to define columns and load table data Supports rapid prototyping with database storage, without requiring any separate tools to create database tables Supports sharing application code that uses database tables, without requiring any database setup Enables auto-creation of application server data source for Cloudscape databases Slide 32
Portlet Factory new builders (cont.) New Data Field Settings builder lets you control all the page automation fields in a model. You can easily control the appearance and behavior of all the fields in an application Automatically reference a shared library of Rich Data Definitions A Dojo library is provided, and libraries can be customized to meet your standards For each field, you can control labels, visibility, column sorting, validation, field type (drop-down, checkbox, rich text editor, date picker, etc.), and more Date (format, picker, validate) Currency (format, validate) US States (select, lookup) Rich Text (edit control) Slide 33
Portlet Factory Dojo and rich UI builders/features An expanded and enhanced set of Dojo builders is available, to easily build compelling, highly interactive applications Ajax builders Smart refresh feature enables partial-page refresh automatically for a project Enhanced table features provide a rich interactive interface for tabular data Drag/drop columns in browser to reorder and resize Improved sorting user interface In-line editing, to update values in place with click-to-edit Enhanced UI themes provide centralized control over look and feel IBM ILOG jviews charting engine provides a comprehensive suite of charting features Includes bar, bubble, dial, line, pie, radar, scatter, and step charts Slide 34
Portlet Factory Dojo builders Dojo builders can be dragged from palette or applied via builder picker Dojo widgets can also be applied automatically to forms using Data Field Settings and Rich Data Definition Accordion Container Animation Border Container Checkbox Data Grid Data Store Date/Time Picker Drag Source / Drop Target Drop Down Button Enhanced Table Modifier Form Dialog Hover Tab Container Accordion Light Box Page Element Progress Indicator Radio Button Group Rich Text Editor Select Slider Tab Container Title Pane Tooltip Tree Inline Edit Form Dialog Inline Edit Tab Container Slide 35
Portlet Factory Theme builder and themes support Themes allow you to centrally control and modify the look and feel of an entire application: CSS styles Smart refresh and page loading progress indicators Page layouts Table and form layout rules (HTML templates) Table highlighting and paging controls A theme can be applied for a model, or automatically for a whole project You can also override theme elements at any level with the Theme builder The Theme builder changes the theme that a model sees for the generated user interface (UI). It can also create a theme file. Blue theme Enterprise theme Rounded theme Slide 36
Objectives WebSphere Portal IBM Innovation Center - Dallas Product Overview Portlet Factory Features & Concepts New Features of WebSphere Portlet Factory 7 Positioning Portlet Factory with Other Development Tools Reseources Slide 37
When should you use IBM WebSphere Portlet Factory The code generated by WebSphere Portlet Factory is no different from any hand written best practice JSR-168/JSR-286 portlet. Not the right fit in scenarios where you don't get any benefits from its software automation. Creating a single specialized application, where you can't use any of the higher-level patterns provided by existing builders the out-of-the-box builders don't support the patterns you need to implement and the cost of creating custom builders for your patterns is too high relative to the benefits. Websphere Portlet Factory uses a different developer paradigm than other tools work iteratively to tell the builders what you want to do the builders automate the code generation. You do not modify the code elements directly. Slide 38
Rational Application Developer & Portlet Factory For developers who create portlet applications using wizard driven tools For developers who need complete access and control of all portlet, portal and other application code WebSphere Portlet Factory Model-driven portlet development and customization Wizard-driven tools that automate rapid portlet creation via reusable, automation components called Builders Dynamic profiling Runtime instances of multiple portlet variations from a single code base Rapid portlet creation Connectivity to SAP, Seibel, Peoplesoft, Domino, etc. Rapid development and deployment to WebSphere Portal Rational Application Developer All-inclusive environment for portlet, portal, and full Java and J2EE application development, debugging, testing and deployment Visual tools to hand-craft portlets and portal pages and Web apps using JavaServer Faces framework Portal site development with visual layout, theme/skin editing Create WPF Builders The recommended scenario is to use RAD and Portlet Factory together to form comprehensive portal solutions. Portlets created in RAD can be combined with portlets created with Portlet Factory to form complete portal solutions that are integrated, tested and deployed using RAD. Slide 39
Objectives WebSphere Portal IBM Innovation Center - Dallas Product Overview Portlet Factory Features & Concepts New Features of WebSphere Portlet Factory 7 Positioning Portlet Factory with Other Development Tools Resources Slide 40
Additional Resources WPF support http://www-947.ibm.com/support/entry/portal/overview/software/websphere/websphere_portlet_factory WPF documentation ( wiki ) http://www-10.lotus.com/ldd/pfwiki.nsf WPF forum (Best Practices) http://www.ibm.com/developerworks/forums/forum.jspa?forumid=889 Slide 41
Summary Portlet Factory Overview Portlet Factory for WebSphere Features & Concepts Portlet development without Java coding Builders, Models, Profile Positioning Portlet Factory with Other Development Tools Portlet Factory, Rational App Developer Slide 42
Slide 43
End of Presentation IBM Innovation Center Dallas, TX 2010 IBM Corporation