Presentation is loading. Please wait.

Presentation is loading. Please wait.

Content provided under the terms and conditions of the Eclipse Public License Version 1.0 16 June 2005 1 Eclipse Foundation - www.eclipse.org Chuck Bridgham/

Similar presentations


Presentation on theme: "Content provided under the terms and conditions of the Eclipse Public License Version 1.0 16 June 2005 1 Eclipse Foundation - www.eclipse.org Chuck Bridgham/"— Presentation transcript:

1 Content provided under the terms and conditions of the Eclipse Public License Version 1.0 16 June 2005 1 Eclipse Foundation - www.eclipse.org Chuck Bridgham/ Naci Dai 2005.06.16 Eclipse WTP Project J2EE Tools Open House

2 Content provided under the terms and conditions of the Eclipse Public License Version 1.0 16 June 2005 2 Eclipse Foundation - www.eclipse.org Contents ■ Contributors ■ Function ■ Plugins ■ API ■ Development

3 Content provided under the terms and conditions of the Eclipse Public License Version 1.0 16 June 2005 3 Eclipse Foundation - www.eclipse.org Contributors ■ 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

4 Content provided under the terms and conditions of the Eclipse Public License Version 1.0 16 June 2005 4 Eclipse Foundation - www.eclipse.org 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

5 Content provided under the terms and conditions of the Eclipse Public License Version 1.0 16 June 2005 5 Eclipse Foundation - www.eclipse.org 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

6 Content provided under the terms and conditions of the Eclipse Public License Version 1.0 16 June 2005 6 Eclipse Foundation - www.eclipse.org 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 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 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)

7 Content provided under the terms and conditions of the Eclipse Public License Version 1.0 16 June 2005 7 Eclipse Foundation - www.eclipse.org New Project Wizards/Commands ■ DataModel based –Self validating –Defaulting properties ■ Advanced settings –Server target –Ear containment ■ Extended pages/commands

8 Content provided under the terms and conditions of the Eclipse Public License Version 1.0 16 June 2005 8 Eclipse Foundation - www.eclipse.org Import-Export Wizards/Commands ■ Module Import –Expands J2EE archives –DataModel driven –Extensible ■ Module Export –Archives Existing components/projects –Datamodel driven –Extensible

9 Content provided under the terms and conditions of the Eclipse Public License Version 1.0 16 June 2005 9 Eclipse Foundation - www.eclipse.org J2EE Navigator Integration ■ Standard J2EE Working Sets ■ Integrated Java Content ■ EMF model content ■ EMF content synchronized with XML changes ■ Web Services node (Extension)

10 Content provided under the terms and conditions of the Eclipse Public License Version 1.0 16 June 2005 10 Eclipse Foundation - www.eclipse.org 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

11 Content provided under the terms and conditions of the Eclipse Public License Version 1.0 16 June 2005 11 Eclipse Foundation - www.eclipse.org 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

12 Content provided under the terms and conditions of the Eclipse Public License Version 1.0 16 June 2005 12 Eclipse Foundation - www.eclipse.org 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

13 Content provided under the terms and conditions of the Eclipse Public License Version 1.0 16 June 2005 13 Eclipse Foundation - www.eclipse.org 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/FlexibleProjectCon cepts.html http://www.eclipse.org/webtools/development/proposals/FlexibleProjectCon cepts.html –Overview (Some out of date content): http://www.eclipse.org/webtools/development/proposals/FlexibleProjectStru ctureDesignOverview.html http://www.eclipse.org/webtools/development/proposals/FlexibleProjectStru ctureDesignOverview.html –Structural Overview: http://www.eclipse.org/webtools/jst/components/j2ee/api/module_core_api.h tml http://www.eclipse.org/webtools/jst/components/j2ee/api/module_core_api.h tml –ComponentCore API: http://www.eclipse.org/webtools/wst/api/org/eclipse/wst/common/component core/package-summary.html http://www.eclipse.org/webtools/wst/api/org/eclipse/wst/common/component core/package-summary.html –VirtualResource API: –http://www.eclipse.org/webtools/wst/api/org/eclipse/wst/common/component core/resources/package-summary.html

14 Content provided under the terms and conditions of the Eclipse Public License Version 1.0 16 June 2005 14 Eclipse Foundation - www.eclipse.org 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.

15 Content provided under the terms and conditions of the Eclipse Public License Version 1.0 16 June 2005 15 Eclipse Foundation - www.eclipse.org 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 that can make j2ee models hard to maintain.

16 Content provided under the terms and conditions of the Eclipse Public License Version 1.0 16 June 2005 16 Eclipse Foundation - www.eclipse.org EJB Generation Datamodels ■ Provides validation of properties ■ Event notification on property change ■ Usable with WTP operation –potential non-gui use WTPOperationDataModel NewEJBJavaClassDataModel SessionBeanDataModelMessageDrivenBeanDataModel

17 Content provided under the terms and conditions of the Eclipse Public License Version 1.0 16 June 2005 17 Eclipse Foundation - www.eclipse.org Delegates IEnterpriseBean EnterpriseBeanDelegate > EnterpriseBean > EnterpriseBeanDataModel > DD View Tooling View * Nested - and maybe provided by features added to components RuntimeEJBDM >... getEnterpriseBean() getDataModel() getDataModelFor(feature)??

18 Content provided under the terms and conditions of the Eclipse Public License Version 1.0 16 June 2005 18 Eclipse Foundation - www.eclipse.org Related Open Source Projects (IP) ■ XDoclet –Xdoclet.sf.net –Only used for generating ejb code. Not a runtime framework

19 Content provided under the terms and conditions of the Eclipse Public License Version 1.0 16 June 2005 19 Eclipse Foundation - www.eclipse.org 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" />

20 Content provided under the terms and conditions of the Eclipse Public License Version 1.0 16 June 2005 20 Eclipse Foundation - www.eclipse.org EJB Bean wizards ■ WTP Extensible Wizards –Single entry point that nests other ejb wizards –Creates an operation that launches a generator

21 Content provided under the terms and conditions of the Eclipse Public License Version 1.0 16 June 2005 21 Eclipse Foundation - www.eclipse.org Servlet creation wizard ■ Choice of Generation style –Annotation (XDoclet) –EMF Jet Template –Updates DD Metadata –Uses DataModel operation

22 Content provided under the terms and conditions of the Eclipse Public License Version 1.0 16 June 2005 22 Eclipse Foundation - www.eclipse.org New Simple Web Project ■ Used for Simple (Non-Java) Web applications ■ Creates WebContent structure ■ Adds Component infrastructure ■ Server Integration

23 Content provided under the terms and conditions of the Eclipse Public License Version 1.0 16 June 2005 23 Eclipse Foundation - www.eclipse.org 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)

24 Content provided under the terms and conditions of the Eclipse Public License Version 1.0 16 June 2005 24 Eclipse Foundation - www.eclipse.org Plugins – J2EE ■ 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

25 Content provided under the terms and conditions of the Eclipse Public License Version 1.0 16 June 2005 25 Eclipse Foundation - www.eclipse.org 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)

26 Content provided under the terms and conditions of the Eclipse Public License Version 1.0 16 June 2005 26 Eclipse Foundation - www.eclipse.org 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

27 Content provided under the terms and conditions of the Eclipse Public License Version 1.0 16 June 2005 27 Eclipse Foundation - www.eclipse.org Bugzilla - Queries –Query for J2EE: –https://bugs.eclipse.org/bugs/buglist.cgi?query_format=ad vanced&short_desc_type=allwordssubstr&short_desc=&p roduct=Web+Tools&component=J2EE+Standard+Tools&c omponent=jst.ejb&component=jst.j2ee&component=jst.ser vlet&component=wst.common&component=wst.validation &component=wst.web&long_desc_type=allwordssubstr&l ong_desc=&bug_file_loc_type=allwordssubstr&bug_file_lo c=&keywords_type=allwords&keywords=&bug_status=NE W&bug_status=ASSIGNED&bug_status=REOPENED&e mailtype1=substring&email1=&emailtype2=substring&em ail2=&bugidtype=include&bug_id=&votes=&chfieldfrom

28 Content provided under the terms and conditions of the Eclipse Public License Version 1.0 16 June 2005 28 Eclipse Foundation - www.eclipse.org 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

29 Content provided under the terms and conditions of the Eclipse Public License Version 1.0 16 June 2005 29 Eclipse Foundation - www.eclipse.org 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???

30 Content provided under the terms and conditions of the Eclipse Public License Version 1.0 16 June 2005 30 Eclipse Foundation - www.eclipse.org 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)

31 Content provided under the terms and conditions of the Eclipse Public License Version 1.0 16 June 2005 31 Eclipse Foundation - www.eclipse.org 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!


Download ppt "Content provided under the terms and conditions of the Eclipse Public License Version 1.0 16 June 2005 1 Eclipse Foundation - www.eclipse.org Chuck Bridgham/"

Similar presentations


Ads by Google