SlideShare a Scribd company logo
1 of 24
Open Admin - GWTJava TrackBrian PolsterCredera Copyright © 2011 Credera. All Rights Reserved.
www.credera.com About the Speaker Brian Polster Lead the Java Practice at Credera for past 5½  years Former Architect at American Airlines (www.aa.com) Founder of Broadleaf Commerce (eCommerce framework based on open source technologies)
www.credera.com Agenda What is Open Admin GWT  Overview Example Smart-GWT Primer Build a simple Open Admin Module
www.credera.com What is Open Admin? Component / Outcome of Broadleaf Commerce  Built in Security  Pluggable Module Metaphor Sandbox capability  Release 1 Target – September  Based on common open source components  GWT   Smart GWT Spring Security JPA / Hibernate
Demo – (Broadleaf Commerce Admin) www.credera.com
www.credera.com DemoBroadleaf Commerce Admin
www.credera.com GWT (Google Web Toolkit) Key Benefits 	(according to me ….) Emits JavaScript from Java Allows debugging of JavaScript using breakpoints in Java code RPC and GWT-RPC Shipped with component library that isextensible through JSNI
www.credera.com GWT – Sample Application Google has good tutorials on GWT.      http://code.google.com/webtoolkit/gettingstarted.html The sample provides a good background on the following: Google Compiler Configuration file (e.g. *.gwt.xml) HTML start page Entry Point Class(es) GWT Debugger GWT-RPC
www.credera.com DemoGWT
www.credera.com Smart GWT GWT wrapper over the Smart Client JavaScript library Provides hooks for data source interaction LPGL license for mostwidgets – company sellssupport and advancedfeatures http://www.smartclient.com/product/smartgwt.jsp
www.credera.com DemoSmart GWT Showcase
www.credera.com Open Admin Terminology Module Section Views
www.credera.com Open Admin Terminology Module Section(s) Presenter View(s) Datasource Event Handlers List Grid Events Button Model Form Order Customer
www.credera.com Simple Example - Step 1 of 3:   Building The View public class SimpleView extends HLayoutimplements  					Instantiable, Display {   public SimpleView() {    setHeight100();     setWidth100();   }   public void build(DataSource entityDataSource) {     new IButton("Click Me");    button.addClickHandler(new ClickHandler() {       public void onClick(ClickEvent event) {         SC.say("Hello, World from smartGWT");       }     }); addMember(button);   }
www.credera.com Simple Example - Step 2 of 3:  Creating the Open Admin Module public class SimpleModule extends AbstractModule {  public void onModuleLoad() {    setModuleTitle("Tech Fest Module");    List<String> roles= new ArrayList<String>();    roles.add("ROLE_TECH_FEST_USER”);              roles.add("ROLE_ADMIN"); setSection("Simple Example”,                "viewKey”,                SimpleView.class.getName(),                   roles); registerModule();  } }
www.credera.com Simple Example - Step 3: Configuring the GWT Complier <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE module PUBLIC "-//Google Inc. <...> <module>  <inherits name="com.google.gwt.user.User" />  <inherits name="org.broadleafcommerce.openadmin.openadmin" />   <entry-point class="techfest.client.simple.SimpleModule" />  <source path="client" /> </module> Also need to add reference to the project *.gwt.xml file.
www.credera.com Demo Security
www.credera.com Dynamic Form Generation The list grids and entry forms are generated automatically from the JPA and OpenAdmin configuration.  @Column(name = "MODEL”) // JPA @AdminPresentation   // Open Admin     (friendlyName="Product Model",       order=4,       group="Product Description",       prominent=true) Open Admin field configuration can be done via an XML file or inline in the java class. Other attributes include: readOnly, securityLevel, and validation
www.credera.com Demo Review Source for Order and Privilege
www.credera.com Recap the Steps for Adding a JPA Data Driven Section Create the view by extend BasicListDetailView Setting the title fields Set the view handle (prefix) Create the presenter by extending DynamicEntityPresenter Specify the grid fields (optional) Tie-in the associated DataSourceFactory Create the DataSourceFactory by extending SimpleDataSourceFactory  Set the class name for your JPA configured class Add a new section to your module that references the view and presenter.
www.credera.com Summary Benefits of Open Admin Helper classes to bridge SmartGWT DataSources and JPA Simple “Out of Box” view and presenter classes that make building a rich UI easy Configurable security based on Spring Security Announcement … BLC Content Management Content targeting, structured content, templated page development
www.credera.com Credera is a Business and Technology Consulting Firm that Focuses on Leveraging Proven Technologies to Enable our Clients Business Strategy Our Company Full-service business and technology consulting firm Provide business and technology solutions that offer measurable value to our clients Deliver value by leveraging our people’s accumulated industry and management experience with their deep technical expertise Established in 1999 Offices in Dallas, Austin, Denver Our Services Management Consulting Technology Solutions Business Intelligence Our People Credera’s professionals possess a unique combination of  deep technical expertise with extensive business backgrounds Backgrounds include business, technology, and strategy management consulting with some of the  most well-known and respected consulting firms in the world Have served many influential corporations in a variety of industries over the past 20 years Sample Clients
www.credera.com Q&A  Thank you for attending! Contact Information: Brian Polster bpolster@yahoo.com www.credera.com Twitter: polster
Smart GWT & Open Admin Brian PolsterCredera Copyright © 2011 Credera. All Rights Reserved.

More Related Content

Similar to Open Admin

Use Eclipse technologies to build a modern embedded IDE
Use Eclipse technologies to build a modern embedded IDEUse Eclipse technologies to build a modern embedded IDE
Use Eclipse technologies to build a modern embedded IDE
Benjamin Cabé
 

Similar to Open Admin (20)

Introduction To Code Igniter
Introduction To Code IgniterIntroduction To Code Igniter
Introduction To Code Igniter
 
Server side programming bt0083
Server side programming bt0083Server side programming bt0083
Server side programming bt0083
 
20141002 delapsley-socalangularjs-final
20141002 delapsley-socalangularjs-final20141002 delapsley-socalangularjs-final
20141002 delapsley-socalangularjs-final
 
SilverStripe Meetup 03/03/2011
SilverStripe Meetup 03/03/2011SilverStripe Meetup 03/03/2011
SilverStripe Meetup 03/03/2011
 
SilverStripe Meetup Presentation 03/03/2011
SilverStripe Meetup Presentation 03/03/2011SilverStripe Meetup Presentation 03/03/2011
SilverStripe Meetup Presentation 03/03/2011
 
Working with AngularJS
Working with AngularJSWorking with AngularJS
Working with AngularJS
 
Struts 1
Struts 1Struts 1
Struts 1
 
Night Watch with QA
Night Watch with QANight Watch with QA
Night Watch with QA
 
بررسی چارچوب جنگو
بررسی چارچوب جنگوبررسی چارچوب جنگو
بررسی چارچوب جنگو
 
Using And Extending The DotNetNuke Widget Framework
Using And Extending The DotNetNuke Widget FrameworkUsing And Extending The DotNetNuke Widget Framework
Using And Extending The DotNetNuke Widget Framework
 
File Repository on GAE
File Repository on GAEFile Repository on GAE
File Repository on GAE
 
Developing Drizzle Replication Plugins
Developing Drizzle Replication PluginsDeveloping Drizzle Replication Plugins
Developing Drizzle Replication Plugins
 
Simple stock market analysis
Simple stock market analysisSimple stock market analysis
Simple stock market analysis
 
Google Cloud Platform
Google Cloud Platform Google Cloud Platform
Google Cloud Platform
 
How to Webpack your Django!
How to Webpack your Django!How to Webpack your Django!
How to Webpack your Django!
 
Mastering Test Automation: How To Use Selenium Successfully
Mastering Test Automation: How To Use Selenium SuccessfullyMastering Test Automation: How To Use Selenium Successfully
Mastering Test Automation: How To Use Selenium Successfully
 
Wicket Introduction
Wicket IntroductionWicket Introduction
Wicket Introduction
 
Use Eclipse technologies to build a modern embedded IDE
Use Eclipse technologies to build a modern embedded IDEUse Eclipse technologies to build a modern embedded IDE
Use Eclipse technologies to build a modern embedded IDE
 
MongoDB.local Dallas 2019: MongoDB Stitch Tutorial
MongoDB.local Dallas 2019: MongoDB Stitch TutorialMongoDB.local Dallas 2019: MongoDB Stitch Tutorial
MongoDB.local Dallas 2019: MongoDB Stitch Tutorial
 
Google Cloud DevOps Engineer Professional Training Course - PPT.pdf
Google Cloud DevOps Engineer Professional Training Course - PPT.pdfGoogle Cloud DevOps Engineer Professional Training Course - PPT.pdf
Google Cloud DevOps Engineer Professional Training Course - PPT.pdf
 

Recently uploaded

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Recently uploaded (20)

2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 

Open Admin

  • 1. Open Admin - GWTJava TrackBrian PolsterCredera Copyright © 2011 Credera. All Rights Reserved.
  • 2. www.credera.com About the Speaker Brian Polster Lead the Java Practice at Credera for past 5½ years Former Architect at American Airlines (www.aa.com) Founder of Broadleaf Commerce (eCommerce framework based on open source technologies)
  • 3. www.credera.com Agenda What is Open Admin GWT Overview Example Smart-GWT Primer Build a simple Open Admin Module
  • 4. www.credera.com What is Open Admin? Component / Outcome of Broadleaf Commerce Built in Security Pluggable Module Metaphor Sandbox capability Release 1 Target – September Based on common open source components GWT Smart GWT Spring Security JPA / Hibernate
  • 5. Demo – (Broadleaf Commerce Admin) www.credera.com
  • 7. www.credera.com GWT (Google Web Toolkit) Key Benefits (according to me ….) Emits JavaScript from Java Allows debugging of JavaScript using breakpoints in Java code RPC and GWT-RPC Shipped with component library that isextensible through JSNI
  • 8. www.credera.com GWT – Sample Application Google has good tutorials on GWT. http://code.google.com/webtoolkit/gettingstarted.html The sample provides a good background on the following: Google Compiler Configuration file (e.g. *.gwt.xml) HTML start page Entry Point Class(es) GWT Debugger GWT-RPC
  • 10. www.credera.com Smart GWT GWT wrapper over the Smart Client JavaScript library Provides hooks for data source interaction LPGL license for mostwidgets – company sellssupport and advancedfeatures http://www.smartclient.com/product/smartgwt.jsp
  • 12. www.credera.com Open Admin Terminology Module Section Views
  • 13. www.credera.com Open Admin Terminology Module Section(s) Presenter View(s) Datasource Event Handlers List Grid Events Button Model Form Order Customer
  • 14. www.credera.com Simple Example - Step 1 of 3: Building The View public class SimpleView extends HLayoutimplements Instantiable, Display { public SimpleView() { setHeight100(); setWidth100(); } public void build(DataSource entityDataSource) { new IButton("Click Me"); button.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { SC.say("Hello, World from smartGWT"); } }); addMember(button); }
  • 15. www.credera.com Simple Example - Step 2 of 3: Creating the Open Admin Module public class SimpleModule extends AbstractModule { public void onModuleLoad() { setModuleTitle("Tech Fest Module"); List<String> roles= new ArrayList<String>(); roles.add("ROLE_TECH_FEST_USER”); roles.add("ROLE_ADMIN"); setSection("Simple Example”, "viewKey”, SimpleView.class.getName(), roles); registerModule(); } }
  • 16. www.credera.com Simple Example - Step 3: Configuring the GWT Complier <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE module PUBLIC "-//Google Inc. <...> <module> <inherits name="com.google.gwt.user.User" /> <inherits name="org.broadleafcommerce.openadmin.openadmin" /> <entry-point class="techfest.client.simple.SimpleModule" /> <source path="client" /> </module> Also need to add reference to the project *.gwt.xml file.
  • 18. www.credera.com Dynamic Form Generation The list grids and entry forms are generated automatically from the JPA and OpenAdmin configuration. @Column(name = "MODEL”) // JPA @AdminPresentation // Open Admin (friendlyName="Product Model", order=4, group="Product Description", prominent=true) Open Admin field configuration can be done via an XML file or inline in the java class. Other attributes include: readOnly, securityLevel, and validation
  • 19. www.credera.com Demo Review Source for Order and Privilege
  • 20. www.credera.com Recap the Steps for Adding a JPA Data Driven Section Create the view by extend BasicListDetailView Setting the title fields Set the view handle (prefix) Create the presenter by extending DynamicEntityPresenter Specify the grid fields (optional) Tie-in the associated DataSourceFactory Create the DataSourceFactory by extending SimpleDataSourceFactory Set the class name for your JPA configured class Add a new section to your module that references the view and presenter.
  • 21. www.credera.com Summary Benefits of Open Admin Helper classes to bridge SmartGWT DataSources and JPA Simple “Out of Box” view and presenter classes that make building a rich UI easy Configurable security based on Spring Security Announcement … BLC Content Management Content targeting, structured content, templated page development
  • 22. www.credera.com Credera is a Business and Technology Consulting Firm that Focuses on Leveraging Proven Technologies to Enable our Clients Business Strategy Our Company Full-service business and technology consulting firm Provide business and technology solutions that offer measurable value to our clients Deliver value by leveraging our people’s accumulated industry and management experience with their deep technical expertise Established in 1999 Offices in Dallas, Austin, Denver Our Services Management Consulting Technology Solutions Business Intelligence Our People Credera’s professionals possess a unique combination of deep technical expertise with extensive business backgrounds Backgrounds include business, technology, and strategy management consulting with some of the most well-known and respected consulting firms in the world Have served many influential corporations in a variety of industries over the past 20 years Sample Clients
  • 23. www.credera.com Q&A Thank you for attending! Contact Information: Brian Polster bpolster@yahoo.com www.credera.com Twitter: polster
  • 24. Smart GWT & Open Admin Brian PolsterCredera Copyright © 2011 Credera. All Rights Reserved.