Introduction to Java

Total Page:16

File Type:pdf, Size:1020Kb

Introduction to Java Welcome! Check that you can "raise your hand" next to your name When we start I'll ask everyone to raise their hand to verify you can hear me To ask a question during the presentation type it in the questions pane ©WebAgeSolutions.com 1 "Web Age Speaks!" Webinar Series Exploring Eclipse Galileo ©WebAgeSolutions.com 2 Introduction Matt Silver Technical Trainer/Courseware Developer [email protected] Web Age Solutions Providing training for Eclipse since 2004 Using Eclipse-based tools as the foundation of our Java/Java EE training ©WebAgeSolutions.com 3 Overview of Talk Introduction to Eclipse Galileo Changes to Eclipse Java Enterprise tools Other Eclipse projects Compatibility of other Eclipse toolsets Our offerings ©WebAgeSolutions.com 4 Exploring Eclipse Galileo What is Galileo? ©WebAgeSolutions.com 5 Eclipse Galileo Eclipse projects can participate in a coordinated annual release cycle This occurs in late June every year This year it was codenamed "Galileo" and included 33 projects and 24 million lines of code A few of the projects included are "incubating" This just means they have some more tasks to accomplish before being considered a fully functional Eclipse project The coordinated release helps improve compatibility This also helps avoid tracking many different version numbers for all of the individual projects Included Projects: www.eclipse.org/galileo/projects.php ©WebAgeSolutions.com 6 Eclipse Updates With Eclipse Galileo, installing new software and looking for updates are managed separately In previous Eclipse versions updates and new software were managed in the same dialog When listing new software to install you can select a specific update site to avoid being overloaded with available software You can also view all software if you want to browse or do not know which site provides certain features Available software update sites are managed as a preference which should make it easier for plug-ins to contribute to this list You can also enable automatic checks for updates although this is not new to Galileo ©WebAgeSolutions.com 7 Exploring Eclipse Galileo Eclipse Web Tools Platform ©WebAgeSolutions.com 8 Eclipse Web Tools Platform Provides Eclipse support for Java Enterprise development The most popular project in the Eclipse ecosystem Not many major changes since Java EE 6 is not finalized Website: http://www.eclipse.org/webtools/ ©WebAgeSolutions.com 9 General Changes First full release that supports JBoss Application Server 5.0 GA Before you needed a maintenance release (Ganymede SR 2) Rebranded Welcome page with button links to online resources Added a new view called Markers view which combines information shown in Problems and Tasks views Servers view has decorations for status instead of columns ©WebAgeSolutions.com 10 User Libraries User libraries are a way to register perhaps multiple JAR files User libraries are also often used in multiple projects Although user libraries are not new, they have been enhanced to provide a mechanism for JSF and JPA implementations You can configure user libraries on your own or even download some popular implementations If you are using the implementation provided by a server you would disable library configuration ©WebAgeSolutions.com 11 Dali JPA Tools EclipseLink The open source project created from the Oracle donation of TopLink EclipseLink will be the JPA 2.0 reference implementation The Dali JPA tools have specific enhancements for EclipseLink features Entity generation from tables Entity generation wizard has more customization options ©WebAgeSolutions.com 12 XML Tools Addition of an XML perspective Main views added are XPath and Templates views Smart insert to automatically add a matching end tag for a start tag Advanced tab in the Properties view for simple types and schema elements Able to right-click a schema type definition in the graphical design view and set the base type Lots of additional features for XSL and XPath ©WebAgeSolutions.com 13 Exploring Eclipse Galileo Other Eclipse Projects ©WebAgeSolutions.com 14 Test and Performance Tools Platform Provides a framework for the support of testing and performance monitoring tools The platform simply provides a foundation on which tool developers can write testing and performance tools The project also includes sub-projects with a standard set of tools based on the platform This includes application performance profiling, automated unit testing, and log analysis The testing and monitoring tools can also work with remote systems using an "agent controller" installed on the remote system This would need to be downloaded and installed separately from Eclipse Website: http://www.eclipse.org/tptp/ ©WebAgeSolutions.com 15 Mylyn Allows a task-focused approach to programming Can filter out files not relevant to current task Mylyn can learn what files and even methods are important for a task by what you are doing Helps preserve the "context" of what was important when switching between tasks The main Mylyn view is the Task List view although Mylyn can filter content in other standard views Mylyn is even more useful in a team environment when issues are tracked with a task repository Many popular issue tracking repositories have a Mylyn "connector" Website: http://www.eclipse.org/mylyn/ ©WebAgeSolutions.com 16 AspectJ & AspectJ Development Tools AspectJ is a Java implementation of Aspect Oriented Programming AOP looks to modularize crosscutting concerns but still allow them to be joined together in the final system Logging is a typical example because it can affect many parts of a system but AOP can be much more than logging The AspectJ Development Tools project allows easier creation of code using AspectJ in Eclipse Specialized views and markers in the margin of source code allow visualization of how AOP code is "woven" together Website: http://www.eclipse.org/aspectj/ & http://www.eclipse.org/ajdt/ ©WebAgeSolutions.com 17 Memory Analyzer A tool that can analyze heap dumps to help find memory leaks and improve performance You can find classes with the largest average size or number of objects and trace the object references back to a root You can download into Eclipse Galileo or as a separate Eclipse RCP application Steps to collect information vary depending on JVM The Memory Analyzer is an incubating project Website: http://www.eclipse.org/mat/ ©WebAgeSolutions.com 18 PDT - PHP Development Tools Eclipse is not just about Java Some of the non-Java projects have been very popular Provides advanced features like PHP syntax checking, code completion, and templates above what a text editor can do Requires an external PHP debugger Information in the project about where to get one Website: http://www.eclipse.org/pdt/ ©WebAgeSolutions.com 19 CDT - C/C++ Development Tooling Eclipse provides a wizard to create a C++ class and can generate the header and implementation files for you Some common method stubs can also be created You can initiate building, running, and debugging from the Eclipse interface Eclipse calls external tools to compile and debug C/C++ code On Windows you would need to make sure these are available Website: http://www.eclipse.org/cdt/ ©WebAgeSolutions.com 20 BIRT-Business Intelligence and Reporting Tools BIRT provides a framework for adding reporting to web applications, especially Java EE applications You can concentrate on where to obtain the data for a report and how to present it instead of developing a reporting framework BIRT includes Eclipse tools for report design and a runtime component for an application server Besides data source and presentation you can add data transformations and business logic The business logic can even call into your existing Java code Website: http://www.eclipse.org/birt/ ©WebAgeSolutions.com 21 Exploring Eclipse Galileo Compatibility of Other Eclipse Toolsets ©WebAgeSolutions.com 22 MyEclipse One of the most popular products based on Eclipse Not free but one of the lowest priced Eclipse tools available Provides a tested, pre-configured, and supported combination of many useful plug- ins Some are developed by MyEclipse and others are developed separately but packaged with MyEclipse Even provides support for deploying and testing on WebSphere with the "Blue edition" Does not yet have a version based on Galileo Likely will later this year Website: www.myeclipseide.com ©WebAgeSolutions.com 23 Spring Eclipse Tools Spring IDE Adding Spring support to Eclipse projects Editor for Spring configuration files including visual representation Tools for Spring WebFlow framework Installed via an Eclipse "update site" Spring Tool Suite Free with registration Includes tools of Spring IDE Support for OSGi development Support for SpringSource dm Server & tc Server Both have Galileo compatible downloads Website: springide.org & www.springsource.com/products/sts ©WebAgeSolutions.com 24 JBoss Eclipse Tools Provides support for various JBoss platforms and technologies JBoss Seam Hibernate JBoss Drools business rules JBoss jBPM business processes Obtain in two ways JBoss Tools - free but unsupported JBoss Developer Studio - subscription pricing with support Current releases are not Galileo compatible Uses Eclipse Ganymede Galileo versions are under development Website: www.jboss.org/tools & www.jboss.com/products/devstudio/ ©WebAgeSolutions.com 25 Exploring Eclipse Galileo What's Next? ©WebAgeSolutions.com 26 Eclipse "Helios" The June 2010 Eclipse release will be called "Helios" Appropriate
Recommended publications
  • Architecture Committee Handbook
    Architecture Committee Handbook openKONSEQUENZ created by Architecture Committee We acknowledge that this document uses material from the arc 42 architecture template, http://www.arc42.de. Created by Dr. Peter Hruschka & Dr. Gernot Starke. ​ Template Revision: 6.1 EN June 2012 1 Revision History Version Date Reviser Description Status 1.0 2016-07-04 A. Göring Alignment in AC/QC conference call Released 1.0.1 2016-07-19 A. Göring Added UML-Tool decision in chapter 2. Draft for Constraints, Added software-tiers v1.1 image in chapter 8. 1.1 2016-08-18 A.Göring Alignment in AC/QC conference call Released 1.1.1 2016-08-26 F. Korb, M. Description of architecture layer model Draft for Rohr and its APIs. Example internal module v1.2 architecture (Presented in ACQC-Meeting 15.& 29.08.2016) 1.2 2016-09-14 A. Göring Integration of Concept for Plattform Released Module Developmennt, Consolidation v1.1.1 1.2.1 2016-09-16 S.Grüttner Reorganization of Chapter7 Draft for Deployment Environment, clearifying v1.3 the reference environment as “image”. Adding cutting of CIM Cache. Modified Logging (8.17) for use of SLF4J. Added potential non-functional requirement for Offline-Mode. 1.2.2 2017-01-30 A. Göring Adding Link to oK-API Swagger Draft for Definition, deleting old Interfaces v1.3 Annex. Adding CIM Cache Module dependencies image and text (from Felix Korb) 1.3 2017-02-14 A. Göring Alignment in/after AC/QC conference Released call 1.3.1 2017-09-05 A. Göring Minimum requirement change from Released Java EE 7 to Oracle Java SE 8.
    [Show full text]
  • JSF Quickstart -- Myeclipse Enterprise Workbench
    JSF Quickstart Last Revision: September 26, 2005 Outline 1. P reface 2. I ntroduction 3. R equirements 4. N ew Project Setup & S tructure 5. C reating the Message Bundle 6. C reating the Managed Bean 7. C reating the JSP Pages 8. R unning the Application 9. S ummary 10.U ser Feedback 1. Preface This document was written using Sun JDK 1.5.0, Eclipse 3.1 and MyEclipse 4.0. If you notice discrepancies between this document and the version of Eclipse/MyEclipse you are using to perform the install that make it difficult or impossible to follow this guide, please see the User Feedback section on how to report the issue. Back to Top 2. Introduction In this tutorial we will be walking through a small JSF demo application using MyEclipse Enterprise Workbench. Previous knowledge of JSF and/or MyEclipse is not necessary, but would be helpful. Since Struts is such a prevalent web application framework, similarities between JSF and Struts will be noted, where appropriate, to help the reader with previous Struts experience. However, if you have no prior experience with Struts, you may feel free to skip these sections . Back to Top 3. Requirements Below is a list of software used by this guide: • JDK 1.4+ (Sun or IBM) • h ttp://java.sun.com/j2se/downloads/index.html • Eclipse 3.1 SDK • h ttp://www.eclipse.org/downloads/index.php • MyEclipse 4.1 • h ttp://www.myeclipseide.com/ContentExpress-display-ceid-10.html • Tomcat 5.x (5.5.9 Preferred, or other compliant Servlet/EJB container) • h ttp://jakarta.apache.org/tomcat/index.html • For this demo the User Name is "myeclipse" and the Password is "myeclipse" as well.
    [Show full text]
  • JPA Persistence Guide (V6.0) Table of Contents
    JPA Persistence Guide (v6.0) Table of Contents EntityManagerFactory. 2 Create an EMF in JavaSE . 2 Create an EMF in JavaEE . 2 Persistence Unit . 3 EntityManagerFactory Properties . 6 Closing EntityManagerFactory . 27 Level 2 Cache. 27 Datastore Schema. 34 Schema Generation for persistence-unit . 34 Schema Auto-Generation at runtime . 35 Schema Generation : Validation . 36 Schema Generation : Naming Issues . 36 Schema Generation : Column Ordering . 37 Schema : Read-Only. 37 SchemaTool . 38 Schema Adaption . 44 RDBMS : Datastore Schema SPI . 44 EntityManager. 48 Opening/Closing an EntityManager. 48 Persisting an Object. 49 Persisting multiple Objects in one call . 49 Finding an object by its identity . 50 Finding an object by its class and unique key field value(s) . 50 Deleting an Object . 51 Deleting multiple Objects. 51 Modifying a persisted Object. 52 Modifying multiple persisted Objects . 52 Refreshing a persisted Object . 52 Getting EntityManager for an object. 53 Cascading Operations . 53 Orphans . 54 Managing Relationships . 54 Level 1 Cache. 56 Object Lifecycle. 58 Transaction PersistenceContext . 58 Extended PersistenceContext . 58 Detachment . 58 Helper Methods . 59 Transactions . 60 Locally-Managed Transactions. 60 JTA Transactions. 61 Container-Managed Transactions . 63 Spring-Managed Transactions . 63 No Transactions . 63 Transaction Isolation . 64 Read-Only Transactions . 64 Flushing . 65 Transactions with lots of data. 66 Transaction Savepoints . 67 Locking . 68 Optimistic Locking. 68 Pessimistic (Datastore) Locking . 69 Datastore.
    [Show full text]
  • Guidelines for Tools Development and Operating Environments
    Managing social, behavioral and economic data and metadata Guidelines for Tools Development and Operating Environments Author/Maintainer Pascal Heus, Open Data Foundation Contributors Jack Gager(Metadata Technology), Jannick Jensen (Danish Data Archive), Herve Lhours (UKDA) Version 2010-08-03 Table of Contents Overview....................................................................................................................................................2 Product Development.................................................................................................................................3 Environment.......................................................................................................................................... 3 Collaborative environment.................................................................................................................... 4 Licensing............................................................................................................................................... 5 Products Guide...........................................................................................................................................8 Overview............................................................................................................................................... 8 Web server software.............................................................................................................................. 8 Rich client Platforms...........................................................................................................................10
    [Show full text]
  • Desenvolvimento Web 2.0 E JEE Com Jboss Seam João Paulo Viragine Solutions Architect [email protected] Motivação
    Mais velozes e mais furiosos: Desenvolvimento Web 2.0 e JEE com JBoss Seam João Paulo Viragine Solutions Architect [email protected] Motivação • O JSF merece uma segunda chance? • O EJB foi realmente aperfeiçoado? • Vale a pena continuar com Java ou é melhor partir para Ruby on Rails? Motivação (continuação) • Com o JBoss Seam, podemos responder SIM a todas essas questões. Qual framework devo utilizar? • Em um mundo abarrotado de frameworks, como escolher um? • Temos tantos frameworks disponíveis para a plataforma Java: alguns já consolidados, outros prometendo. A decisão torna-se agonizante! • A decisão pelo melhor framework: Qual framework devo utilizar? (continuação) • Logo que tomamos a decisão, surge um novo framework prometendo “acabar” com os antecessores. • Vemo-nos no “Paradoxo da Escolha”: Ficamos pensando que o melhor framework é aquele que ainda não utilizamosu Como conseqüência, gastamos mais tempo procurando pelo framework perfeito, do que realmente desenvolvendo aplicações • Estamos sempre procurando por um framework que seja: Novo e ao mesmo tempo familiar Leve, mas poderoso Qual framework devo utilizar? (continuação) • Precisamos de um framework que integre a vasta gama de tecnologias/frameworks da plataforma Java, em um modelo unificado de desenvolvimento: O JBoss Seam é esse framework JSF e EJB 3.0 • Não serão abordadas as deficiência do JSF e do EJB 3.0 Existe material específico sobre esse tema • Aproveitarei o tempo pra falar do JBoss Seam O que é o JBoss Seam? • Definição da palavra: Seam = emenda •
    [Show full text]
  • Smart Execution of Distributed Application by Balancing Resources in Mobile Devices
    ALMA MATER STUDIORUM - UNIVERSITÀ DI BOLOGNA SCUOLA DI INGEGNERIA E ARCHITETTURA DISI INGEGNERIA INFORMATICA TESI DI LAUREA in Reti di Calcolatori M Smart execution of distributed application by balancing resources in mobile devices and cloud-based avatars CANDIDATO: RELATORE: Giacomo Gezzi Chiar.mo Prof. Ing. Antonio Corradi CORRELATORE: Chiar.mo Prof. Cristian Borcea Anno Accademico 2014/2015 Sessione III 2 Abstract L’obiettivo del progetto di tesi svolto e` quello di realizzare un servizio di livello middleware dedicato ai dispositivi mobili che sia in grado di fornire il supporto per l’offloading di codice verso una infrastruttura cloud. In particolare il progetto si concentra sulla migrazione di codice verso macchine virtuali dedicate al singolo utente. Il sistema operativo delle VMs e` lo stesso utilizzato dal device mobile. Come i precedenti lavori sul computation offloading, il progetto di tesi deve garantire migliori per- formance in termini di tempo di esecuzione e utilizzo della batteria del dispositivo. In particolare l’obiettivo piu` ampio e` quello di adattare il principio di computation offloading a un contesto di sistemi distribuiti mobili, miglio- rando non solo le performance del singolo device, ma l’esecuzione stessa dell’applicazione distribuita. Questo viene fatto tramite una gestione di- namica delle decisioni di offloading basata, non solo, sullo stato del de- vice, ma anche sulla volonta` e/o sullo stato degli altri utenti appartenenti allo stesso gruppo. Per esempio, un primo utente potrebbe influenzare le decisioni degli altri membri del gruppo specificando una determinata richiesta, come alta qualita` delle informazioni, risposta rapida o basata su altre informazioni di alto livello.
    [Show full text]
  • On-Process Verification and Report
    CORE Metadata, citation and similar papers at core.ac.uk Provided by Open Repository of the University of Porto FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO On-Process Verification and Report Tiago Nunes Project Report Master in Informatics and Computing Engineering Supervisor: João Pascoal Faria (PhD) 3rd March, 2009 On-Process Verification and Report Tiago Nunes Project Report Master in Informatics and Computing Engineering Approved in oral examination by the committee: Chair: Ana Cristina Ramada Paiva Pimenta (PhD) External Examiner: Fernando Brito e Abreu (PhD) Internal Examiner: João Carlos Pascoal de Faria (PhD) 19th March, 2009 Abstract This report describes the motivation, architecture and post-implementation return on in- vestment of an On-Process Validation and Report solution. Its objective was to create an automation tool that would free the Product Assurance team at Critical Software, S.A. from repetitive and time-consuming tasks, while at the same time providing a platform upon which further systems could be implemented, augmenting the tool kit of the Product Assurance Engineers. This was achieved by designing a modular and extensible platform using cutting-edge Java technologies, and following a goal-oriented development process that focused on iteratively providing as many domain-specific features as possible. It is shown that the resulting system has the potential for considerably reducing costs in the validation of projects throughout their entire life cycle. i ii Resumo Este relatório descreve a motivação, arquitectura e o retorno sobre o investimento após a implementação de uma solução para a Validação e Reporting On-Process. O seu objec- tivo era a criação de uma ferramenta de automação que libertaria a equipa de Controlo de Produto da Critical Software, S.A.
    [Show full text]
  • Eclipselink Understanding Eclipselink 2.4
    EclipseLink Understanding EclipseLink 2.4 June 2013 EclipseLink Concepts Guide Copyright © 2012, 2013, by The Eclipse Foundation under the Eclipse Public License (EPL) http://www.eclipse.org/org/documents/epl-v10.php The initial contribution of this content was based on work copyrighted by Oracle and was submitted with permission. Print date: July 9, 2013 Contents Preface ............................................................................................................................................................... xiii Audience..................................................................................................................................................... xiii Related Documents ................................................................................................................................... xiii Conventions ............................................................................................................................................... xiii 1 Overview of EclipseLink 1.1 Understanding EclipseLink....................................................................................................... 1-1 1.1.1 What Is the Object-Persistence Impedance Mismatch?.................................................. 1-3 1.1.2 The EclipseLink Solution.................................................................................................... 1-3 1.2 Key Features ...............................................................................................................................
    [Show full text]
  • Enterprise Development with Flex
    Enterprise Development with Flex Enterprise Development with Flex Yakov Fain, Victor Rasputnis, and Anatole Tartakovsky Beijing • Cambridge • Farnham • Köln • Sebastopol • Taipei • Tokyo Enterprise Development with Flex by Yakov Fain, Victor Rasputnis, and Anatole Tartakovsky Copyright © 2010 Yakov Fain, Victor Rasputnis, and Anatole Tartakovsky.. All rights reserved. Printed in the United States of America. Published by O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472. O’Reilly books may be purchased for educational, business, or sales promotional use. Online editions are also available for most titles (http://my.safaribooksonline.com). For more information, contact our corporate/institutional sales department: (800) 998-9938 or [email protected]. Editor: Mary E. Treseler Indexer: Ellen Troutman Development Editor: Linda Laflamme Cover Designer: Karen Montgomery Production Editor: Adam Zaremba Interior Designer: David Futato Copyeditor: Nancy Kotary Illustrator: Robert Romano Proofreader: Sada Preisch Printing History: March 2010: First Edition. Nutshell Handbook, the Nutshell Handbook logo, and the O’Reilly logo are registered trademarks of O’Reilly Media, Inc. Enterprise Development with Flex, the image of red-crested wood-quails, and related trade dress are trademarks of O’Reilly Media, Inc. Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and O’Reilly Media, Inc. was aware of a trademark claim, the designations have been printed in caps or initial caps. While every precaution has been taken in the preparation of this book, the publisher and authors assume no responsibility for errors or omissions, or for damages resulting from the use of the information con- tained herein.
    [Show full text]
  • Xml Schema Search Path for Import
    Xml Schema Search Path For Import Electrophilic Dion clomp her frosting so anagogically that Lawton explicates very indignantly. Bertie carols miraculously. Timorous Craig pasteurised, his extractives ooses moderate magisterially. In continuation of my earlier post please find below after SELECT statement. Manage WSDL and XML schema documents. You can easily determine what it opens the xml schema for import into scope for the property is the xml file in a pdf, be added the jaxb. You use frames to search path. Search for 'xml' which gives you the bizarre to filter by 'XML Editors and Tools' and as. With openospathjoinresources 'alto-3-1xsd' as schemafp altoschema. Xmlschema PyPI. Lxmlobjectify. Import & export XML data XML maps and schema in excel. Xsd file into the Visual Studio project directory which usually are keeping. XML Schema Understanding Structures Oracle. URL schema for host database exceptions import ImproperlyConfigured raise. Usage xmlschema 142 documentation. Click Browse and inferior for custom select the XML schema file Type or paste the URL location of the XML schema file into another Select XML Schema File field. To generate an XML instance document based on the XSD file In the XML Schema Explorer right-click the PurchaseOrder global element and below select Generate Sample XML. This is labeled as a search term here is a string identified by type out python data entry to search path to mount a point in xml. Reading XMLGML Safe Software FME. If available insert the module into the modules database find your App Server or save one on the. The recommended approach necessary to go Feature Paths to identify the.
    [Show full text]
  • Eclipselink and JPA
    <Insert Picture Here> High Performance Persistence with EclipseLink Shaun Smith—Principal Product Manager [email protected] What is EclipseLink? ●Comprehensive Open Source Persistence solution ● EclipseLink JPA Object-Relational (JPA 2.0 RI) ● EclipseLink MOXy Object-XML (JAXB) ● EclipseLink SDO Service Data Objects (SDO 2.1.1 RI) ● EclipseLink DBWS Generated JAX-WS from DB ●Mature and full featured ● Over 13 years of commercial usage ● Initiated by the contribution of Oracle TopLink ●Target Platforms ● Java EE, Web, Spring, Java SE, and OSGi ●Get involved ● Open collaborative community ● Contributions welcomed EclipseLink Project Java SE Java EE OSGi Spring Web JPA MOXy EIS SDO DBWS Eclipse Persistence Services Project (EclipseLink) Databases XML Data Legacy Systems EclipseLink: Distributions ●Eclipse.org ● www.eclipse.org/eclipselink/downloads ● http://download.eclipse.org/rt/eclipselink/updates ●Oracle ● TopLink 11g ● WebLogic Server 10.3 ●GlassFish v3 ● Replaces TopLink Essentials ● JPA 2.0 Reference Implementation ●Spring Source ● Spring Framework and Bundle Repository ●JOnAS ●Jetty ●JEUS TMaxSoft ●SAP NetWeaver coming soon EclipseLink Developer Tool Support . EclipseLink is a Runtime Project but supported by IDEs . Eclipse IDE . EclipseLink support included by Dali in Eclipse 3.4 (Ganymede) . EclipseLink included in Eclipse 3.5 (Galileo) – JavaEE ● Enhanced Dali support for use of EclipseLink . Oracle Enterprise Pack for Eclipse (OEPE) . MyEclipse . JDeveloper 11g . JPA, Native ORM, OXM, and EIS mapping . NetBeans . Standalone
    [Show full text]
  • Design Pattern Implementation in Java and Aspectj
    Design Pattern Implementation in Java and AspectJ Jan Hannemann Gregor Kiczales University of British Columbia University of British Columbia 201-2366 Main Mall 201-2366 Main Mall Vancouver B.C. V6T 1Z4 Vancouver B.C. V6T 1Z4 jan [at] cs.ubc.ca gregor [at] cs.ubc.ca ABSTRACT successor in the chain. The event handling mechanism crosscuts the Handlers. AspectJ implementations of the GoF design patterns show modularity improvements in 17 of 23 cases. These improvements When the GoF patterns were first identified, the sample are manifested in terms of better code locality, reusability, implementations were geared to the current state of the art in composability, and (un)pluggability. object-oriented languages. Other work [19, 22] has shown that implementation language affects pattern implementation, so it seems The degree of improvement in implementation modularity varies, natural to explore the effect of aspect-oriented programming with the greatest improvement coming when the pattern solution techniques [11] on the implementation of the GoF patterns. structure involves crosscutting of some form, including one object As an initial experiment we chose to develop and compare Java playing multiple roles, many objects playing one role, or an object [27] and AspectJ [25] implementations of the 23 GoF patterns. playing roles in multiple pattern instances. AspectJ is a seamless aspect-oriented extension to Java, which means that programming in AspectJ is effectively programming in Categories and Subject Descriptors Java plus aspects. D.2.11 [Software Engineering]: Software Architectures – By focusing on the GoF patterns, we are keeping the purpose, patterns, information hiding, and languages; D.3.3 intent, and applicability of 23 well-known patterns, and only allowing [Programming Languages]: Language Constructs and Features – the solution structure and solution implementation to change.
    [Show full text]