The ProductivityEnvironmentForJava (PE:J) from HywySoftware is an enterprise-ready Productivity Environment for Java that incorporates UmlSoftware Modeling, RapidApplicationDevelopment (RAD), and JavaDataObjects (JDO) compliant ObjectPersistence to produce mission-critical J2EE and J2SE applications. The ProductivityEnvironmentForJava (PE:J) integrates with major ApplicationServer''''''s and supports the JDO specification for object persistence to JDBC complaint RelationalDatabase(s) (RDBMS). With support for ForwardEngineeringFromCaseTools, Forward Engineering from Java Sources and ReverseEngineering from existing Java objects and relational schemas, The ProductivityEnvironmentForJava (PE:J) makes RoundTripEngineering a reality for new and experienced Java architects (and developers) alike. The ProductivityEnvironmentForJava (PE:J) also provides management reporting on the impact of changes and facilitates management of distributed development. It helps in complete SystemsDevelopmentLifeCycle and provides platform & vendor independence by making use of current trends and standards. The ProductivityEnvironmentForJava (PE:J) generates all the infrastructure code and frees up the developer to concentrate on business logic. It automatically generates both J2SE and J2EE Applications, and a JUnit test script framework. http://www.hywy.com/images/HYWY-PEJ-console.gif Some of the highlights of The ProductivityEnvironmentForJava (PE:J) are: * Forward Engineers JavaLanguage Sources, JSP/Servlet Applications, Session EJB Facades, JUnit (JavaUnit) compliant test scripts, and RDBMS schemas. * Reverse Engineers from RDBMS Schemas and legacy Java Sources * Complete Round-trip Engineering between UML models, Java sources, and RDB schemas facilitated by HYWY's powerful Meta Model Repository. * A robust ObjectRelational (O/R) Mapper with support for multiple ObjectRelationalMapping Strategies helps the user configure O/R mappings as required. A default O/R mapping can also be automatically generated. * JDO compliant TransparentPersistence and a powerful Persistence by Reachability implementation for Java objects. * A scalable, secure, and transactional JDO runtime that can work efficiently in both managed and non-managed environments. * Transaction support using HYWY's JTA compliant Transaction Manager * Provides a JCA compliant Resource Adapter which facilitates hooking into your J2EE-complaint Application Server's Transaction coordinator for reliable two-phase commits over distributed transactions * Support for multiple concurrency modes including optimistic and pessimistic concurrency. * A JCache compliant high performance distributed object cache implementation * Supports class inheritance, aggregation, unary and binary associations with support for unidirectional and bi-directional one-to-one, one-to-many, many-to-one, and many-to-many relationship types * User-customizable, Template-based, automated code generation capabilities to easily generate Java Sources, JSP/Servlets, J2EE applications, and JUnit compliant test scripts * Automated deployment to the Application Server of user's choice * Works with JDBC compliant Relational Databases. Also provides Connection Pooling support for various RDBMS. * Integrates with major UML diagramming tools. * Works and deploys to J2EE compliant Application Servers * Integrates with multiple Java Integrated Development Environments (IDEs) * Generates sample data for rapid prototyping * Object pooling support provided using HYWY's own JDOAdapter. * Can generate a PersistenceLayer that is JDO compliant. Technologies Supported: In it's current product offering The ProductivityEnvironmentForJava (PE:J) supports and conforms to the latest Java/J2EE standards like JavaDataObjects (JDO), Java Transaction API (JTA)/JavaTransactionService (JTS), J2EE Connector Architecture (J2EEConnectors) , EnterpriseJavaBeans (EJB), JavaTemporaryCaching API (JCache), JavaServerPages (JSP),The JavaServlets API, JavaBeans, JavaDatabaseConnectivity (JDBC), JavaNamingAndDirectoryInterface (JNDI), JavaRemoteMethodInvocation RMI/IIOP and Java-IDL. The ProductivityEnvironmentForJava (PE:J) also supports and conforms to other Industry standards including UnifiedModelingLanguage (UML), ExtensibleMarkupLanguage (XML), XMLMetadataInterchange (XMI), and CommonObjectRequestBrokerArchitecture (CORBA). Products Supported: Currently, The ProductivityEnvironmentForJava (PE:J) supports * UML Modelling Tools: RationalRose, RationalXDE, TogetherSoft, Gentleware's Poseidon, and ArgoUml modelling tools. * J2EE Application Servers: BEA WebLogic and IBM WebSphere J2EE Compliant Application Servers * Databases: OracleDatabase, IBM/DB2, and Microsoft SqlServer Databases Support for additional products are actively being added as you read this and will be delivered as they become available. You can download these updates through The ProductivityEnvironmentForJava (PE:J)'s active download feature. 2013 Update by Matthew Pope, former co-founder, and Chief Scientist of HYWY Software (matthewpope DOT ca) In summary, PE:J made iterative, rapid prototyping a reality using code generation, and a bundled Tomcat Servlet engine. The tool was comprehensive with a) forward engineering (UML diagram driven), and b) reverse-engineering (Java src, Java class, SQL Schema, or Rational Rose, or XMI based diagram) environment, and c) round-trip engineering support in that it carefully parsed user Java source during re-generation to leave user-tagged sections alone so it was safe for the user to change the UML model (diagram) without breaking existing application code. ---- See also ObjectRelationalToolComparison, ObjectRelationalMapping, ObjectPersistence