1 / 31

Eclipse WTP Project J2EE Tools Open House

Eclipse WTP Project J2EE Tools Open House. Chuck Bridgham/ Naci Dai 2005.06.16. Contents. Contributors Function Plugins API Development. Chuck Bridgham (IBM) Committer / J2EE Component lead Vijay Bhadriraju (IBM) Committer EJB/Servlet validation Component dependency UI

Download Presentation

Eclipse WTP Project J2EE Tools Open House

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Eclipse WTP ProjectJ2EE ToolsOpen House Chuck Bridgham/ Naci Dai 2005.06.16 Eclipse Foundation - www.eclipse.org

  2. Contents • Contributors • Function • Plugins • API • Development Eclipse Foundation - www.eclipse.org

  3. Chuck Bridgham (IBM) Committer / J2EE Component lead Vijay Bhadriraju (IBM) Committer EJB/Servlet validation Component dependency UI Michael Elder (IBM) Contributor Flexible Project Jason Sholl (IBM) Contributor J2EE Archive commands Brad Blancett (IBM) Contributor J2EE Module Server integration Konstantin Komissarchik (BEA) Weblib Container support Server features Naci Dai (Eterations) Committer / JST Subproject lead EJB Creation/Annotations John Lanuti (IBM) Contributor Annotations/WS integration Derek F Holt (IBM) Contributor J2EE Wizard/Structural builder Neeraj Agrawal (IBM) Contributor Java utility/Classpath references Saurabh Agarwal (IBM) Contributor J2EE Navigator extensions Jialin C Chen (IBM) Contributor Web component api Contributors Eclipse Foundation - www.eclipse.org

  4. What are the J2EE Tools? Made up of 4 components – wst.web, jst.j2ee,jst.ejb, jst.servlet Why 4 components? wst.web – Support for Simple(Non-Java)Web projects jst.j2ee – Contains all models/Common J2EE support jst.ejb,jst.servlet – Module type support, features possible Feature requirements may determine future component structure J2EE component page link: http://www.eclipse.org/webtools/jst/components/j2ee/j2ee_index.html Eclipse Foundation - www.eclipse.org

  5. Function – J2EE Tools • J2EE EMF models • New J2EE Project Wizards/Commands • Import-Export Wizards/Commands • J2EE Navigator Integration • Flexible Project • Preferences • Dependency properties • EJB Generation Framework • Annotation based generation • Session/MDB • Servlet creation • Annotation/Template generation • New Simple Web Project • Server Integration/Publish tasks • J2EE Validation/J2EE Web Services Eclipse Foundation - www.eclipse.org

  6. J2EE EMF models • Complete Rose Model evolved from J2EE 1.2 -> 1.4 • One EMF model supports all versions • Based on J2EE Deployment Descriptor DTD/XSD’s • Models are extendable for vendor/feature specific meta-data • Jem (Java) EMF Model – Delivered in JVE Project • Overview link: http://www.eclipse.org/webtools/jst/components/j2ee/api/j2ee_models_overview.html • Complete Rose Model link: http://www.eclipse.org/webtools/jst/components/j2ee/models/j2ee_rose.html • Translators (Currently internal) • EMF XML resource files use Translator classes • Translators synchronize EMF <-----> DOM • Renderer strategies • SAX • DOM • SED (XML Editor Model) Eclipse Foundation - www.eclipse.org

  7. New Project Wizards/Commands • DataModel based • Self validating • Defaulting properties • Advanced settings • Server target • Ear containment • Extended pages/commands Eclipse Foundation - www.eclipse.org

  8. Module Import Expands J2EE archives DataModel driven Extensible Module Export Archives Existing components/projects Datamodel driven Extensible Import-Export Wizards/Commands Eclipse Foundation - www.eclipse.org

  9. J2EE Navigator Integration • Standard J2EE Working Sets • Integrated Java Content • EMF model content • EMF content synchronized with XML changes • Web Services node (Extension) Eclipse Foundation - www.eclipse.org

  10. Flexible Project • Concept • A flexible development environment where source layout isn’t constrained by deployable structures. • Multiple components can be assembled within a single project • Components can be shared by declaring dependencies • Components are decoupled from server specific deployment plans • Why is it provisional? • Resource level API belongs in the platform • Current design has platform (JDT) constraints Eclipse Foundation - www.eclipse.org

  11. Flexible Project – Structural model • Structural Metamodel that defines abstract modules within Eclipse projects • This metamodel also specifies “source” and “runtime” paths for defined resources • Model Diagram below Eclipse Foundation - www.eclipse.org

  12. Flexible Project – Virtual Resource API • Virtual Resource • Emulates IResource • IVirtualContainer members() traverses runtime structure • getUnderlyingResource() • VirtualComponents • J2EE Module Natures are gone…. • Component type specifies J2EE module types • ArtifactEdit • EMF model lifecycle api • Some “Edit model” concepts exposed Eclipse Foundation - www.eclipse.org

  13. Flexible Project (cnt’d) • Current Work Items • Server integration/publish tasks • Fixing Bugs! • Online info • Concepts (Some out of date content): http://www.eclipse.org/webtools/development/proposals/FlexibleProjectConcepts.html • Overview (Some out of date content): http://www.eclipse.org/webtools/development/proposals/FlexibleProjectStructureDesignOverview.html • Structural Overview: http://www.eclipse.org/webtools/jst/components/j2ee/api/module_core_api.html • ComponentCore API: http://www.eclipse.org/webtools/wst/api/org/eclipse/wst/common/componentcore/package-summary.html • VirtualResource API: • http://www.eclipse.org/webtools/wst/api/org/eclipse/wst/common/componentcore/resources/package-summary.html Eclipse Foundation - www.eclipse.org

  14. EJB Generation Framework • Component in JST • EJB Generation using Datamodels and Operations • Functional Overview • The framework provides a means for defining EJB components using DataModels, and provides and extensible way of generating ejb components using operations. • Provides extensible wizards to define and trigger EJB generators • Provides an example generator using XDoclet • Extensible • IEJBGenerator extension point • Nested wizards to insert specific UrIs • Nested models to extend the models. Eclipse Foundation - www.eclipse.org

  15. EJB Model • J2EE models for ejb are available in JST • EMF models • Reflect the standards view of an ejb • org.eclipse.jst.j2ee.ejb • EJB tooling needs more • Seperate the following views • J2EE Standard x Tooling API x Runtime Extensions We use the delegate pattern to avoid the coupling thatcan make j2ee models hard to maintain. Eclipse Foundation - www.eclipse.org

  16. EJB Generation Datamodels • Provides validation of properties • Event notification on property change • Usable with WTP operation • potential non-gui use WTPOperationDataModel NewEJBJavaClassDataModel SessionBeanDataModel MessageDrivenBeanDataModel Eclipse Foundation - www.eclipse.org

  17. Delegates EnterpriseBeanDataModel <<wtp operations>> RuntimeEJBDM << runtime extensions >> Tooling View * Nested - and maybe provided by features added to components IEnterpriseBean EnterpriseBeanDelegate <<implementation>> ... getEnterpriseBean() getDataModel() getDataModelFor(feature)?? EnterpriseBean <<j2ee standard>> DD View Eclipse Foundation - www.eclipse.org

  18. Related Open Source Projects (IP) • XDoclet • Xdoclet.sf.net • Only used for generating ejb code. Not a runtime framework Eclipse Foundation - www.eclipse.org

  19. EJB Generator • EJB Generaiton Tooling Provides an extension point • IEJBGenerator public interface IEJBGenerator { public void generateSession(ISessionBean bean,IProgressMonitor monitor); public void generateMessageDriven(IMessageDrivenBean bean,IProgressMonitor monitor); } • An example implemention is XDoclet <extension point="org.eclipse.jst.j2ee.ejb.annotation.model.ejbGenerator"> <ejbGenerator name="XDoclet" class="org.eclipse.jst.j2ee.....XDocletAnnotationProvider" /> </extension> Eclipse Foundation - www.eclipse.org

  20. EJB Bean wizards • WTP Extensible Wizards • Single entry point that nests other ejb wizards • Creates an operation that launches a generator Eclipse Foundation - www.eclipse.org

  21. Servlet creation wizard • Choice of Generation style • Annotation (XDoclet) • EMF Jet Template • Updates DD Metadata • Uses DataModel operation Eclipse Foundation - www.eclipse.org

  22. New Simple Web Project • Used for Simple (Non-Java) Web applications • Creates WebContent structure • Adds Component infrastructure • Server Integration Eclipse Foundation - www.eclipse.org

  23. Server Integration/Publish tasks • Server “Deployables” for All J2EE Modules • Server Publish in M4 • Deployable Builder “Assembled” source to runtime structure • Deployable Builder synchronized with Java Builder • Publish step pointed to “.deployables” folder in project/component • Server Publish in M5 • No Assembly builder (No .deployables folder) • Java output in “bin” folder by default • Server publish steps determines assembly steps required • All Assembly done in server metadata area (Outside workspace) Eclipse Foundation - www.eclipse.org

  24. wst org.eclipse.wst.web org.eclipse.wst.web.ui jst org.eclipse.jst.ejb.ui org.eclipse.jst.j2ee org.eclipse.jst.j2ee.core org.eclipse.jst.j2ee.ejb org.eclipse.jst.j2ee.ejb.annotation.model org.eclipse.jst.j2ee.ejb.annotations.emitter org.eclipse.jst.j2ee.ejb.annotations.ui org.eclipse.jst.j2ee.ejb.annotations.xdoclet org.eclipse.jst.j2ee.jca org.eclipse.jst.j2ee.jca.ui org.eclipse.jst.j2ee.navigator.ui org.eclipse.jst.j2ee.ui org.eclipse.jst.j2ee.web org.eclipse.jst.j2ee.webservice org.eclipse.jst.j2ee.webservice.ui org.eclipse.jst.servlet.ui Content Simple web component support Simple web creation wizards EJB Component wizards/dialogs EAR/Common J2EE component commands J2EE Models/Common Archive EJB Component commands API/Datamodel/Function group EMF Code generators for xdoclet GUI/Wizards for Ejb Generation XDoclet support/xdoclet annotation code-assist J2C Component commands J2C Component wizards/dialogs J2EE Navigator extensions EAR/Common J2EE component UI/wizards WAR Component commands J2EE Webservice commands J2EE Webservice wizards/nav extensions WAR Component UI/wizards Plugins – J2EE Eclipse Foundation - www.eclipse.org

  25. Plugins - Dependencies • Eclipse • Platform • JDT,Resource • JEM • Java Model (Reflective EMF Model) • EMF • Primary metamodel framework • EMF.edit • WS • WSDL based model (Integrated into Navigator) • SSE • XML DOM Model (EMF backed Source Editor) Eclipse Foundation - www.eclipse.org

  26. API - Status • Provisional API • Flexible Project API • ArtifactEdit (J2EE) • Data model commands • Import/Export/Creation • J2EE models • Internal API (Destined to be API some day…) • Edit Models • Translators • API Links • http://www.eclipse.org/webtools/wst/api • http://www.eclipse.org/webtools/jst/api Eclipse Foundation - www.eclipse.org

  27. Bugzilla - Queries • Query for J2EE: • https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&product=Web+Tools&component=J2EE+Standard+Tools&component=jst.ejb&component=jst.j2ee&component=jst.servlet&component=wst.common&component=wst.validation&component=wst.web&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&keywords_type=allwords&keywords=&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&emailtype1=substring&email1=&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom Eclipse Foundation - www.eclipse.org

  28. Development - WTP 0.7 • Stabilization • Bug fixes • Functional requests • JUnit testcase development • EJB • Enhance Webdoclet support • Builders vs Actions, better GUI • Provisional frameworks (Continuing to refine API) • Flexible project • Artifact Edit • DataModelProvider interfaces for J2EE Creation/Import/Export/Codegen • Details are in the J2EE milestone page http://www.eclipse.org/webtools/jst/components/j2ee/M5/milestone_plan.html Eclipse Foundation - www.eclipse.org

  29. Development - WTP 1.0 • Continue to Define/Refine API! • Flexible Projects (Integrate with platform, Drive requirements) • Component property page (feature based?) • Server Features • Component integration • Function Groups • Core Feature Definition • EJB • Support module features for EJB Generators (auto selection) • Extension points for Xdoclet • Simple Entity Beans??? Eclipse Foundation - www.eclipse.org

  30. Development - WTP 1.5 (J2EE 5) • J2EE Models/Commands upgraded to J2EE 5 standards • EJB 3.0 • JSR 175 Annotations/ Deployment descriptors optional • ORM proposals • EAR Targets (Team scenarios) • Performance • Editors (JINHa , Other proposals) Eclipse Foundation - www.eclipse.org

  31. Development - Help! • Clean up warnings (e.g. use of deprecated symbols) • Contribute to online help content • Contribute to JavaDoc/API cleanup • Junits – BVT and Performance • General Feedback! Eclipse Foundation - www.eclipse.org

More Related