Open Admin is an open source framework for building administration programs based on GWT. The framework provides the ability to easily integrate Spring Security, SmartGWT, and JPA. Open Admin is a component of the Broadleaf Commerce framework and will be released to the open source community as part of BroadleafComerce version 1.5.
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
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
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
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