Portlet factory 101
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Portlet factory 101

on

  • 1,223 views

 

Statistics

Views

Total Views
1,223
Views on SlideShare
1,223
Embed Views
0

Actions

Likes
0
Downloads
32
Comments
1

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • Automation of your code - With Bowstreet Portlet Factory, developers can create custom automation components (Builders) that encapsulate commonly used design patterns and company-specific business processes. These Builders can then be shared with other developers across the organization, who can easily reuse the functionality without the burden of recreating the same complex code.
  • SOA, Enterprise App Integration,
  • Key Benefits Enables reuse of existing assets across projects and departments Automates back end connectivity Speeds creation of new applications Promotes application flexibility Key Features Create data services that wrap data from any system Enable quick access to the leading back end systems with Portlet Factory Integration extensions Utilize one data service to drive the display of multiple portlets Reuse a single user interface Model by plugging in data from different services 1- One benefit is that you can encapsulate your back end data into a set of well defined services that can then be reused across your dashboard project and even across other types of applications within your organization. You may already have your applications exposed as services. If you don’t, you can use a number of different tools to create these services, including the Integration extensions that are part of Portlet Factory. As I mentioned earlier, our integration extensions make application connectivity fast and easy. Using Portlet Factory’s SAP capabilities, for example, you can quickly connect to SAP and expose one or more of their APIs or BAPIs as services. 2. Another benefit of this architecture is that you can speed the creation of new applications and new portlets by reusing data services. For example, you can use the data service called Bookings to drive the display of multiple portlets that display bookings data. Here we are reusing one service to create a portlet with a status gauge of bookings as well as another portlet that shows a table of that same bookings data. 3. The final benefit of this type of architecture is that it promotes application flexibility. You can use reuse the same Portlet User Interface, with different data services. For example, you can easily swap out the data service that drives these portlets, which is a bookings service, with another data service such as opportunities. So, an SOA promotes flexibility by being able to dynamically swap out different services without having to change the user interface.
  • Speeding development the first time is only half the real power of Portlet Factory, however. Profiles allow new versions of existing portlets, without new development cycles. In the past if you needed an portlet for one group, say an Order Summary portlet for internal sales reps that was very detailed, then determined that pushing that out to distributors on an extranet would increase efficiency even more – but with less detailed order information, you would do one of two things. You would either add conditional logic to the existing portlet, or you would copy, edit and deploy a new portlet. Both are approaches that will work, but in either case, new development cycles are necessary, as well as lengthy testing and deployment cycles. As you’ll see in the demo, Profiles eliminate further lengthy development, test and deployment cycles making it even FASTER to build portlets for subsequent requirements. That’s because developers don’t create new portlets each time a new portlet is required, they simply profile a single instance (essentially, a single code base) then apply profiles that allow it to be called by different portals at run-time for use in different contexts. This Regeneration capability, based on Profiles, significantly eases ongoing maintenance by propagating changes on-demand to all portlet instances. Additionally, Profiles may be exposed through the Portals standard Edit, Configure and administration features – a powerful capability that allows portlets and variations to be created and customized by any delegated administrator and/or user, with no limits. IT and developers are no longer the bottleneck for much of the varied portlets required as the needs of the business evolve.
  • Another feature included in the Dashboard Framework is the ability to very easily create robust, browser-based configuration wizards that enable non-technical users to dynamically personalize and configure their dashboard portlets –without having to involve IT. End users can change really any aspect of the portlet exposed by IT, which can include the look and feel of the portlet, the functionality, application flow, and even connectivity to the back end system. Basic support for creating these browser-based configuration screens is included as part of WebSphere Portlet Factory, but the framework adds some features that makes this even easier. For example, we include a Table Customizer Builder that makes it very straightforward to customize a table, including features such as the ability to reorder columns, rename columns, change column widths and alignments, add sorting, and so on. With this capability to extend portlet configuration to business users, companies can increase the flexibility of their dashboards and reduce IT maintenance costs
  • Benefits of Regen Enable iterative design and rapid change Improve customer service and satisfaction Reduce maintenance costs
  • 1. For each builder call in the model XML, the builder’s class is read from the BuilderDef. Then the builder’s regeneration code is invoked, passing builder inputs saved from design time. 2. From regen class, builders can introspect, create, and modify any parts of the generated application. They can also invoke any other builders.
  • 1. For each builder call in the model XML, the builder’s class is read from the BuilderDef. Then the builder’s regeneration code is invoked, passing builder inputs saved from design time. 2. From regen class, builders can introspect, create, and modify any parts of the generated application. They can also invoke any other builders.

Portlet factory 101 Presentation Transcript

  • 1. Exceptional Web ExperiencesIBM Web Experience Factory 101 Phillip de Ridder Technical Sales Lead | IBM Collaboration Solutions | MEA © 2011 IBM Corporation
  • 2. Exceptional Web Experiences © 2011 IBM Corporation
  • 3. Exceptional Web ExperiencesWhat is the IBM Web Experience Factory?Formerly known as Websphere Portlet Factory.General purpose rapid application development tool for building web and hybrid mobile applications.Helps developers rapidly produce sophisticated applications that can be deployed into multiple execution environments: WebSphere Portal WebSphere Application Server / Tomcat / WAS CE Lotus Notes 8.5.x client / IBM Sametime 8.x client IBM Mashup CenterAnd accessed by multiple devices: Smartphones (Android, Iphone, Blackberry etc) Tablets Browsers © 2011 IBM Corporation
  • 4. Exceptional Web Experiences IBM Web Experience FactoryDramatically simplifies and supercharges the development, deployment, maintenance and reuse of multi-channel applications that deliver exceptional web experiencesKey Features: Automates and simplifies software creation for rapid solution delivery Creates highly interactive, rich user interfaces by leveraging advanced AJAX techniques and Dojo toolkit widgets and controls Provides a rich pre-built connector library and transformation capabilities (relational DB, Web and REST services, SAP, Siebel, PeopleSoft, Lotus Domino, Microsoft Excel, WebSphere Process Server, CMIS content management systems) Includes Dynamic Profiling capability, to create multiple Supercharges Application Development variations from a single source model Runs on IBM WebSphere Portal or IBM WebSphere Application Server 4
  • 5. Exceptional Web Experiences One tool – multiple platforms and devices ...and generate applications for DesktopUse one multiple client Browserscommon set of devicestools, Web Experience Factorytechniques,applicationcode(models)... Smartphones Tablets ...deploy to multiple WebSphere Portal WebSphere platforms... Application Server 5
  • 6. Exceptional Web ExperiencesTechnical OverviewWeb Experience Factory Technology Concepts Models Builders Profiles © 2011 IBM Corporation
  • 7. Exceptional Web ExperiencesWeb Experience Factory automation of design patternsWeb Experience Factory features a model-driven development approach using buildersEach builder has a wizard-like UI and automates a design pattern, generating all the application code and artifactsBuilders are combined in a model and edited using the Web Experience Factory graphical Designer IDE Code generation engine Application Model Builder 1 Builder 2 Etc. Libraries and code 7
  • 8. Exceptional Web ExperiencesThe model builders technical overviewStart with some bricks B r ic k s ~ B u ild e r s th a t im p le m e n t lo w o r h ig h le v e l p a tte r n s © 2011 IBM Corporation
  • 9. Exceptional Web ExperiencesBuild an object with those bricks C r e a te a m o d e l o r h ig h le v e l im p le m e n ta tio n p a tte r n w ith b u ild e r s © 2011 IBM Corporation
  • 10. Exceptional Web ExperiencesChange the object by changing the configurationAt a low level - youre not redesigning a brick – youre reusing it in a different way. R e c o n fig u re a m o d e l b y c h a n g in g th e im p le m e n ta tio n b e h a v io u r o f its c o m p o n e n ts (i.e . r e a r ra n g e th e b ric k s ) © 2011 IBM Corporation
  • 11. Exceptional Web ExperiencesAutomating the building block analogy Factory Automation Engine Implementation PatternsCollection of builders Implementation patterns can be automation components or builders too © 2011 IBM Corporation
  • 12. Exceptional Web Experiences Automate Frequently Occurring Development Tasks Applications are comprised of features and design patterns. 1. Print, Export to Excel, Email Click-To-Action Invocation 2. Capture features and design patterns as Builders. Developers can easily create Builde Master-Detail Table Drill Down Calendar Picker Multiple SAP BAPI Call Transaction Caching 3.ng Builders, companies can retain the intellectual property of their developers + ensure consistency and quality of code. © 2011 IBM Corporation 12
  • 13. Exceptional Web Experiences Builders utomate the creation of codes based on inputs or parameters specified by userse any type of software development sy to use, wizard-like interfaces . . . /** ecrease coding errors, and enforce company coding conventions orbuilder call [bc21] * Generated by standards * Generated Method [_pageDispatcher] */ public void _pageDispatcher(WebAppAccess webAppAccess) { com.bowstreet.webapp.JSPSupport.dispatch(webAppAccess); } /** * Generated Method [getFlights_PagingGetImgName] * Generated by builder call [bc21] */ public String getFlights_PagingGetImgName(WebAppAccess webAppAccess, String button, String position) { PagingAssistant asst = (PagingAssistant)webAppAccess.getVariables().getObject("getFlights_Paging"); String img = button + position; if ((button.equals("First") || button.equals("Prev")) && !asst.hasPreviousPage()) img = button + "Disabled"; if ((button.equals("Next") || button.equals("Last")) && !asst.hasNextPage()) img = button + "Disabled"; return webAppAccess.getVariables().getXmlText("getFlights_PagingButtonImages", img); . . } © 2011 IBM Corporation 13
  • 14. Exceptional Web ExperiencesExtensible Builder Library Automates Top TasksOver 150 Portlet Factory BuildersGenerate user interfacesSupport SOASimplify portal integrationDemonstrate AJAX techniquesProvide Application IntegrationImplement REST capabilitiesDojo FrameworkWidgetsMobile Themes/ProfilingIBM WCM enhancementsCMIS integration © 2011 IBM Corporation 14
  • 15. Exceptional Web Experiences Builders : SOAvider & consumer paradigm required in an SOA environment. It enables the definition of clean, well defined service interfaces tha Key Benefits Enables reuse of existing assets across projects and departments Automates back end connectivity Speeds creation of new applications Promotes application flexibility s that wrap data from any systems to the leading back end systems with Web Experience Factory integration Buildersvice to drive the display of multiple portletsr interface Model by plugging in data from different services © 2011 IBM Corporation 15
  • 16. Exceptional Web Experiences Building (mobile) web applications using a service architecture Service (provider) Presentation (consumer) Desktop model model Presentation builderser builders Service Consumerata Services, Web services, REST services, SAP, Domino, PeopleSoft, Siebel, etc. operations and schemas View & Form oransforms and schemas Data Services UI Service Interfacences to Java classes/libraries Data Field Settings Smartphone DB or other Builders for mobile UI back end data Data Layout source Mobile UI theme UI customization builders Mobile List & Detail Service Consumer wizard creates this model © 2011 IBM Corporation
  • 17. Exceptional Web Experiences Profilesairs) that are used to dynamically generate customized softwarete, and change the applications – without requiring additional coding by developersplication instances © 2011 IBM Corporation 17
  • 18. Exceptional Web Experiences ProfilesProfiles can be used to generate multiple Profile management toolapplications from a single source ModelDuring regeneration, values from the selectedprofile are used for specified builder inputsBecause the entire application is created byBuilders, and any Builder inputs can beprofiled:There are no limits on what can be modifiedby profile ProfilesPresentation, workflow, logic, services,etc., can all be varied by profile as muchas you want Builders © 2011 IBM Corporation 18
  • 19. Exceptional Web Experiences Portal-based Customizersers to more easily extend the configuration of portlets to business users, including portlet look and fee Customizers can easily be displayed in portal Configure , Edit, and Edit Defaults Modes © 2011 IBM Corporation 19
  • 20. Exceptional Web Experiences Profile Selectionelection capability enables developers to more easily vary the behavior of an application based cust Group membership ( Portal or LDAP ) User attributes Locale J2EE role Any custom criteria. Profile Selection enables the application to vary based on information available at execution time. © 2011 IBM Corporation 20
  • 21. Exceptional Web Experiences Regeneration ftware code based upon the inputs passed to the Buildershe process of recalculating a spreadsheet, tive design and rapid changearalleled software flexibility When a set of Builders (model) is regenerated using a different set of input parameters (profiles), a differen © 2011 IBM Corporation 21
  • 22. Exceptional Web ExperiencesPutting it all together Profile Sets Application Instances Products Profiles Sale VP Regions Profiles Sale VP Manager Sales Roles Profiles Sales Rep Sale VP Manager Sales Sales Rep Sales Manager Sales Rep Regen Engine Models © 2011 IBM Corporation 22
  • 23. Exceptional Web ExperiencesPortlet Factory Components Applications folderDeveloper tool – Portlet Factory DesignerPlug-in for Eclipse or Rational Application Developer Factory applicationServer component – Automation EngineRuns as a WAR file on J2EE app server or Portal Automation componentsServer BuildersExecuted via Servlet or Portlet API Models Profile Sets *If necessary RequestNote: Core Portlet Factory technology is used by Traditional codeboth the design environment and the server. In the runtime, the following pieces Factorysupport dynamic profiling: controller *If necessaryRegeneration engineModels, Builders, and Profiling Response Generated executables JSP files Java classes © 2011 IBM Corporation 23
  • 24. Exceptional Web ExperiencesBuilders and Models Model XML file contains a list of calls to Builders With all the Builder inputs specified at design time 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 This makes it easy to make higher and higher level Builders © 2011 IBM Corporation 24
  • 25. Exceptional Web ExperiencesCreating Custom Builders Extensible architecture makes it easy to create custom Builders Simple Java interfaces with clean abstractions Wizard-based User Interface is auto-generated from XML descriptions in Builder Definition files Custom UI can be created using a java “coordinator” class Builders can invoke other Builders Simply combine Builder calls to easily create powerful high-level Builders Easily create new Builders from an existing model or Builder © 2011 IBM Corporation 25
  • 26. Exceptional Web Experiences Builder Architecture Builder Definition XML Files Factory Eclipse Editor 1. SAP Function Builder Definition files to construct UI for editing bu WPF uses Action List Variable Imported Page Model XML File Builder Call 1 Data Page - SAP Function Regeneration Engine Builder Call 2 - Imported Page 3. Builders can introspect, create, and modify any parts of the generated application. They can als Builder Call 3 - Data Page Builder Regen Classeser’s regeneration method is invoked. All the the builder inputs specified by the user in the editor are passed to the builder. SAP Function builder Generated (Abstract) Application Action List builder Pages and controls Variable builder Variables/Beans Schemas and metadata Imported Page builder Actions & Methods Properties Data Page builder © 2011 IBM Corporation 26
  • 27. Exceptional Web ExperiencesBuilder Architecture with Profiling Profiles Builder Definition XML Files SAP Function Action List A Variable Imported PageModel XML FileBuilder Call 1 Data Page – SAP FunctionBuilder Call 2 Regeneration Engine – Imported PageBuilder Call 3 – Data Page Builder Regen Classes SAP Function builder Profile A Application Action List builder Pages and controls Variable builder Variables/Beans Schemas and metadata Imported Page builder Actions & Methods Properties Data Page builder © 2011 IBM Corporation 27
  • 28. Exceptional Web ExperiencesBuilder Architecture with Profiling Profiles Builder Definition XML Files SAP Function Action List B Variable Imported PageModel XML FileBuilder Call 1 Data Page – SAP FunctionBuilder Call 2 Regeneration Engine – Imported PageBuilder Call 3 – Data Page Builder Regen Classes SAP Function builder Profile B Application Action List builder Pages and controls Variable builder Variables/Beans Schemas and metadata Imported Page builder Actions & Methods Properties Data Page builder © 2011 IBM Corporation 28
  • 29. Exceptional Web ExperiencesFactory and Portal Server HTTP Request = WPF Components Portal Server = J2EE App Server Factory Portlet Adapter = Application or Main Factory Dispatcher customer code Model XML Files = Builder-generated Profile Selection Factory WebApp objects Execution Regeneration Controller BuilderDef Files Engine & Cache Builder Profile Data Builder Builder Generated WebApp objects, classes, and JSP’s Application Portlet Factory objects Support libraries J2EE Components (JDBC, EJB, JCA, JMS) Enterprise data sources and web services © 2011 IBM Corporation 29
  • 30. Exceptional Web Experiences Quiz: Questions?Who am I? © 2011 IBM Corporation 30
  • 31. Exceptional Web Experiences © 2011 IBM Corporation 31