Aspect Oriented Programming
|
|
- Pamela Montgomery
- 5 years ago
- Views:
Transcription
1 Aspect Oriented Programming Why, What and How? Andy Clement AspectJ Committer IBM Hursley Park 1
2 Agenda Why? Why do we need AOP? What? What is AOP? AspectJ How? The need for tool support Demo: AspectJ Development Tools (AJDT) for Eclipse Demo: Using AOP on real middleware Adopting the technology 2
3 Good Modularity: What oo is good at 3 XML parsing in org.apache.tomcat Red shows relevant lines of code Nicely fits in one box
4 Good Modularity: What oo is good at 4 URL pattern matching in org.apache.tomcat Red shows relevant lines of code Nicely fits in two boxes (using inheritance)
5 No Modularity: What oo is bad at 5 Where is logging in org.apache.tomcat? Not in just one place, not even in a small number of places Scattered and tangled
6 The Cost of Tangled Code Redundant code Same fragment of code in many places e.g. Difficult to reason about Non-explicit structure The big picture of the tangling isn t clear Difficult to change Have to find all the code involved And be sure to change it consistently And be sure not to break it by accident 6
7 AO tries to recognize Crosscutting concerns: Are inherent in any complex system Have a clear purpose Have a natural structure Lets capture them explicitly: In a modular way With language and tool support 7 When designing software, the ideal mapping is 1..1: One concept at the design level maps to one class or package (one module) at the code level
8 AspectJ An aspect oriented programming (AOP) language Java language extension Divides system into core concerns (classes) crosscutting concerns (aspects) Broad IDE support Eclipse, Emacs, JBuilder, NetBeans, 8
9 What is an AspectJ Aspect? Aspects are... At the design level concerns that crosscut At the implementation level a programming construct Aspect = pointcut + advice 9
10 What s a Pointcut? Join point An event in the execution of Java program. e.g. Method call, field access, exception handler, object initialization 10 Pointcut Picks out joinpoints in a particular system e.g. call of method foo(), set of field x, constructor for object Fred Can also expose context from the matched join point
11 Types of Pointcuts Event based - well defined execution points, e.g. method calls, executions field gets / sets exception handling object and class initialisation Scoping - only select joinpoints within a certain scope, e.g. within a set of packages, within the implementation of a method, in the control flow of some event (e.g. downstream of an unsecured call) 11 Context matching - expose context at the joinpoint, e.g. identity of the caller identity of the target object exception being handled value being put into a field
12 What s Advice? Advice Java logic to execute when conditions of a pointcut are met. Types of Advice: before() Executes before the joinpoint after() throwing/returning Executes after the joinpoint, execution can be made conditional on how joinpoint exits (i.e. with/without exception) around() Executes instead of the joinpoint has a choice about whether to invoke the original logic 12 Can be parameterized to process context exposed by the pointcut
13 Eclipse is #1 for AOSD AspectJ Development Tools (AJDT) for Eclipse Open Source Developed in Hursley Partnership with AspectJ team Fully tested in WebSphere Studio and Rational Eclipse based tools 13
14 AJDT Demo - Figures! " #$#%& " 14
15 Webservices Invocation Framework Middleware component Simple Java API for invoking webservices, no matter how or where they are provided Released to Apache But IBM wants a version tightly coupled to IBMs normal qualities of service IBM tracing/monitoring/management How do we manage this? Manage an IBM internal of the apache codebase? Put the IBM facilities into the open source codebase? 15
16 AJDT Demo - WSIF ' ()! " #$#%& " 16
17 Demo conclusions Capabilities of AOP technology look very promising Code size reduction No tangling Faster development times Product-line engineering 17
18 Eliminating tangling BEFORE! "# $$%&## '(# ('()*+('!!, --.. %-- /0-- %-- /- -#0! &&- && '(#( ( AFTER! "#!, -- /- -#0! Crosscutting concerns extracted 18 Example: Code to handle EJB Entity bean passivation
19 Adopting AOP reward 19 time & confidence
20 Adopting AOP reward Risky Space 20 time & confidence
21 Adopting AOP reward exploration/ enforcement auxiliary / infrastructure core / business AO Analysis, AO Design, AO Strategy 21 time & confidence
22 Exploration & Enforcement Aspects to monitor, analyze, debug system Can use individually or share with team Aspects that ensure design integrity Can run privately, as part of nightly build, or shared w/ team Sharing with team can be supported by integration in IDE or including in ant script No runtime dependency on AspectJ production code has not been touched by AspectJ 22
23 Don t use System.err.println!!! Warn developers using System.out, System.err and printstacktrace #0-# &&& #0 # 1,! #-2 2..,! %-0&& #0 #& 1 & & !,-5#64 -,&1 #.. #& 1 78#'0!-&&7 23
24 Architectural Layering Persistence Layer 4 Model Layer 3 View Layer 2 24 Controller Layer 1
25 Map packages to components # 9!0 #0 :, 1,!,2 #0 ;- 1,! -2 #0 %-- 1,! --2 #0 1,! #2 < 25
26 External calls into components < #0,% ,2..:, #0 -% ;- #0 --% %-- #0 #% #2.. #0% =- =-2 2 < 26
27 Compile warnings for illegal calls < -,&1 1--%-- 1 7> ,&1 1,%--..% , -----,7 -,&1 1-%--.. %-- 33:, 1 7-, , ,&1 1#%--..; #- --#-7 -,& 1% !--- -!
28 Auxiliary/Infrastructure Whole team awareness developers know aspects are there runtime dependency on aspectjrt.jar But only some developers change working practices change day-to-day tools Easily understood business case 28
29 Examples 29 Tracing, logging Error and exception handling Monitoring and statistics gathering Transactions Session management (for e.g. persistence) Threading Synchronization Caching Remote access
30 Building the Case Factors: Number of source files in project Average time spent per file over a release (e.g. on tracing code)?@@-?a0/)a#!0 A@@-?A0/*A#,6?@@@-?A0/+#,6 30
31 Building the Case You can certainly write and test a simple tracing aspect in < 25 hours write and test a good tracing aspect in < 50 hours and save a lot of time?@@-?a0/)a#!0 A@@-?A0/*A#,6?@@@-?A0/+#,6 31
32 Core/Business Aspects Using aspects when implementing application s core functionality (e.g. security) Requires full team buy-in to AspectJ Changes to tool set (e.g. JDT -> AJDT) You ll be ready if you followed staged approach enough developers will understand technology enough developers will be aware of value management will be aware of value 32
33 CapitalOne BEA icecentric (icecentric.com) - CRM company Virtusa Virtusa.com (a global provider of software development services) fcspartners.fi Siruis Software Cardinal Health, Dublin, OH BerMark Dynamics Inc. Tavant Technologies Asset Group, part of SAIC - fortune 500. asset.com Haywood Associates SpinSoftware The Middleware Company atsistemas (atsistemas.com) Wells Fargo IntelliJ Bell Canada (sympatico.ca) Dimension Data Husky Injection Molding Systems husky.ca Covansys Global Technology Services covansys.com OleCenter Addecco Group olecenter.com Bell South (.net) EDS Simtel Group Simtel.ie HP Data Transfer datatransfer.com.ar matrix-media.com MetCash (marketing an distribution) metcash.com SG Corporate & Investmen Banking (sgcib.com Intuit intuit.com Disney disney.com CrimsonLogic crimsonlogic.com Reflective Solutions reflective.com (J2EE consultancy) New Aspects of Software etracksolutions.com Nulogy Corporation nulogy.com SAS sas.com VMS vmsinfo.com Deloitte dc.com Global Net Services gnsi.com A G Edwards (finance company) AGEDWARDS.com Akzo Nobel (pharmaceuticals) AkzoNobel.com Perot Systems (trcinc.com) Siemens ESRI (GPS and mapping software specialists) esri.com Computer Sciences Corporation csc.com 33 Oracle ARINC "the world leader in transportation communications and systems engineering" Arinc.com MAN-Corporate hpsglobal.com CheckFree Allstate Insurance *posters to AspectJ user mailing list, Jan-May 2004, where affiliation can be determined.
34 Summary Object Oriented Development has some shortcomings for coping with certain kinds of feature/concern AOP can help solve this problem You need tools support Adopt AOP through managed phases Get increasing benefit as your confidence and expertise grows Who s doing it? IBM is doing it Other AspectJ users are doing it You can do it too! 34
35 Beyond Java Obviously there are languages other than Java BPEL, WSDL, C, C++, etc, etc there are artifacts other than code Documentation, build scripts, UML models IBM is exploring this space check out the CME project 35
36 More information AspectJ homepage AJDT homepage Books AspectJ in Action ISBN Eclipse AspectJ ISBN Contact me! Andy Clement 36
37 The End 37
AJDT: Getting started with Aspect-Oriented Programming in Eclipse
AJDT: Getting started with Aspect-Oriented Programming in Eclipse Matt Chapman IBM Java Technology Hursley, UK AJDT Committer Andy Clement IBM Java Technology Hursley, UK AJDT & AspectJ Committer Mik Kersten
More informationProgramming AspectJ with Eclipse and AJDT, By Example. Chien-Tsun Chen Sep. 21, 2003
Programming AspectJ with Eclipse and AJDT, By Example Chien-Tsun Chen Sep. 21, 2003 ctchen@ctchen.idv.tw References R. Laddad, I want my AOP!, Part 1-Part3, JavaWorld, 2002. R. Laddad, AspectJ in Action,
More informationCourse 6 7 November Adrian Iftene
Course 6 7 November 2016 Adrian Iftene adiftene@info.uaic.ro 1 Recapitulation course 5 BPMN AOP AOP Cross cutting concerns pointcuts advice AspectJ Examples In C#: NKalore 2 BPMN Elements Examples AOP
More informationSeparation of Concerns. AspectJ. What if the concerns are Cross-Cutting? SoC: Programming Paradigms. Key theme: Modularity and Encapsulation
Separation of Concerns and AspectJ EEC 625 Lecture #16 April 3, 2006 EEC 625: Software Design & Architecture Separation of Concerns Breaking a program into pieces that overlap in functionality as little
More informationAspect-Oriented Programming and Aspect-J
Aspect-Oriented Programming and Aspect-J TDDD05 Ola Leifer Most slides courtesy of Jens Gustafsson and Mikhail Chalabine Outline: Aspect-Oriented Programming New concepts introduced Crosscutting concern
More informationAspect-Oriented Programming with AJDT Andy Clement IBM UK Ltd MP 146, Hursley Park Winchester, Hants. England clemas at uk.ibm.
Aspect-Oriented Programming with AJDT Andy Clement IBM UK Ltd MP 146, Hursley Park Winchester, Hants. England +44 1962 816658 clemas at uk.ibm.com Adrian C olyer IBM UK Ltd MP 146, Hursley Park Winchester,
More informationAspect-Oriented Programming
Aspect-Oriented Programming Based on the Example of AspectJ Prof. Harald Gall University of Zurich, Switzerland software evolution & architecture lab AOP is kind of a complicated one for me ( ) the idea
More informationCOURSE DETAILS: CORE AND ADVANCE JAVA Core Java
COURSE DETAILS: CORE AND ADVANCE JAVA Core Java 1. Object Oriented Concept Object Oriented Programming & its Concepts Classes and Objects Aggregation and Composition Static and Dynamic Binding Abstract
More informationAspect Oriented Programming
1 Aspect Oriented Programming Programming Languages Seminar Presenter: Barış Aktemur University of Illinois 18 Feb. 2004 Mostly taken from Bedir Tekinerdogan s slides Outline Introduction Problems Terminology
More informationIntroduction to. Bruno Harbulot. ESNW, the University of Manchester.
Introduction to Aspect-Oriented Software Development Bruno Harbulot ESNW, the University of Manchester http://www.cs.man.ac.uk/~harbulob/ ELF Developers' Forum Manchester - October 2005 1/24 Presentation
More informationPractical Model-Driven Development with the IBM Software Development Platform
IBM Software Group Practical Model-Driven Development with the IBM Software Development Platform Osmond Ng (ong@hk1.ibm.com) Technical Consultant, IBM HK SWG 2005 IBM Corporation Overview The Challenges
More informationA short introduction to INF329. Spring AOP
A short introduction to INF329 Spring AOP Introduction to AOP AOP is an abbreviation for aspectoriented programming Aspect-oriented programming is a new paradigm in programming, seperating functionality
More informationAspect Weaving DyMAC middleware. by Tonje Klykken, INF5360 May 6th 2008
Aspect Weaving DyMAC middleware by Tonje Klykken, INF5360 May 6th 2008 Agenda Brief AOP/AOSD motivation and concepts Problem description and refinement DyMAC component model DyMAC architecture model Analysis
More informationAspect Refactoring Verifier
Aspect Refactoring Verifier Charles Zhang and Julie Waterhouse Hans-Arno Jacobsen Centers for Advanced Studies Department of Electrical and IBM Toronto Lab Computer Engineering juliew@ca.ibm.com and Department
More informationOracle Developer Day
Oracle Developer Day Sponsored by: Track # 1: Session #2 Web Services Speaker 1 Agenda Developing Web services Architecture, development and interoperability Quality of service Security, reliability, management
More informationMobile and Context-aware Interactive Systems
Mobile and Context-aware Interactive Systems Gaëlle Calvary Grenoble INP Laboratoire d Informatique de Grenoble (LIG) Core concepts Principles Terminology For more information, see Sara Bouchenak s M1
More informationJava J Course Outline
JAVA EE - J2SE - CORE JAVA After all having a lot number of programming languages. Why JAVA; yet another language!!! AND NOW WHY ONLY JAVA??? CHAPTER 1: INTRODUCTION What is Java? History Versioning The
More informationAOP 101: Intro to Aspect Oriented Programming. Ernest Hill
AOP 101: Intro to Aspect Oriented Programming ernesthill@earthlink.net AOP 101-1 AOP 101: Aspect Oriented Programming Goal of Software History of Programming Methodology Remaining Problem AOP to the Rescue
More informationImplementing a Business Process
ibm.com/developerworks/webservices Implementing a Business Process September December 2005 The big picture Rational RequisitePro Rational Portfolio Manager CIO Project Manager 6-2 Understand Risk, Project
More informationpurequery Deep Dive Part 2: Data Access Development Dan Galvin Galvin Consulting, Inc.
purequery Deep Dive Part 2: Data Access Development Dan Galvin Galvin Consulting, Inc. Agenda The Problem Data Access in Java What is purequery? How Could purequery Help within My Data Access Architecture?
More informationAspect-Orientation from Design to Code
Aspect-Orientation from Design to Code Iris Groher Siemens AG, CT SE 2 Otto-Hahn-Ring 6 81739 Munich, Germany groher@informatik.tu-darmstadt.de Thomas Baumgarth Siemens AG, CT SE 2 Otto-Hahn-Ring 6 81739
More informationJava Training For Six Weeks
Java Training For Six Weeks Java is a set of several computer software and specifications developed by Sun Microsystems, later acquired by Oracle Corporation that provides a system for developing application
More informationSo, What is an Aspect?
Introduction to AspectJ Aspect-oriented paradigm AspectJ constructs Types of Join Points Primitive Lexical designators Type designators Control flow Types of Advice Before After Around Receptions Join
More informationSun Java Studio Creator. Ken Paulsen Staff Engineer Sun Microsystems, Incorporated (Slides by: Craig R. McClanahan)
Sun Java Studio Creator Ken Paulsen Staff Engineer Sun Microsystems, Incorporated (Slides by: Craig R. McClanahan) Agenda Background Developer characteristics Corporate developers Sun Java Studio Creator
More informationOracle Developer Depot Technical Review
Oracle Developer Depot Technical Review Lonneke Dikmans Oracle Fusion Middleware Regional Director Eric Marcoux Oracle Fusion Middleware Regional Director Oracle Developer Depot (ODD) is the new way for
More informationImproving Software Modularity using AOP
B Vasundhara 1 & KV Chalapati Rao 2 1 Dept. of Computer Science, AMS School of Informatics, Hyderabad, India 2 CVR College of Engineering, Ibrahimpatnam, India E-mail : vasu_venki@yahoo.com 1, chalapatiraokv@gmail.com
More informationFREQUENTLY ASKED QUESTIONS
Borland Together FREQUENTLY ASKED QUESTIONS GENERAL QUESTIONS What is Borland Together? Borland Together is a visual modeling platform that enables software teams to consistently deliver on-time, high
More informationOverview p. 1 Server-side Component Architectures p. 3 The Need for a Server-Side Component Architecture p. 4 Server-Side Component Architecture
Preface p. xix About the Author p. xxii Introduction p. xxiii Overview p. 1 Server-side Component Architectures p. 3 The Need for a Server-Side Component Architecture p. 4 Server-Side Component Architecture
More informationOracle9iAS Tech nicaloverview
Oracle9iAS Tech nicaloverview e-business Integration Management & Security Portals Sandor Nieuwenhuijs Manh-Kiet Yap J2EE & Web Services 9iAS EMEA Product Management Oracle Corporation Business Intelligence
More informationAspect-Oriented Programming and AspectJ
What is Aspect-Oriented Programming? Many possible answers: a fad Aspect-Oriented Programming and AspectJ Aspect-oriented programming is a common buzzword lately Papers from ECOOP 1997 (early overview
More informationChapter 1 GETTING STARTED. SYS-ED/ Computer Education Techniques, Inc.
Chapter 1 GETTING STARTED SYS-ED/ Computer Education Techniques, Inc. Objectives You will learn: WSAD. J2EE business topologies. Workbench. Project. Workbench components. Java development tools. Java projects
More informationCall: JSP Spring Hibernate Webservice Course Content:35-40hours Course Outline
JSP Spring Hibernate Webservice Course Content:35-40hours Course Outline Advanced Java Database Programming JDBC overview SQL- Structured Query Language JDBC Programming Concepts Query Execution Scrollable
More informationTOPLink for WebLogic. Whitepaper. The Challenge: The Solution:
Whitepaper The Challenge: Enterprise JavaBeans (EJB) represents a new standard in enterprise computing: a component-based architecture for developing and deploying distributed object-oriented applications
More informationJ2EE Application Development with WebSphere Studio
. J2EE Application Development with WebSphere Studio page 2 IBM Application Development Vision Delivering a rapid and efficient response to business needs through a powerful development and deployment
More informationBugdel: An Aspect-Oriented Debugging System
Bugdel: An Aspect-Oriented Debugging System Yoshiyuki Usui and Shigeru Chiba Dept. of Mathematical and Computing Sciences Tokyo Institute of Technology 2-12-1-W8-50 Ohkayama, Meguro-ku Tokyo 152-8552,
More informationBPEL Research. Tuomas Piispanen Comarch
BPEL Research Tuomas Piispanen 8.8.2006 Comarch Presentation Outline SOA and Web Services Web Services Composition BPEL as WS Composition Language Best BPEL products and demo What is a service? A unit
More informationSpecialized - Mastering Spring 4.2
Specialized - Mastering Spring 4.2 Code: Lengt h: URL: TT3330-S4 5 days View Online The Spring framework is an application framework that provides a lightweight container that supports the creation of
More informationTHIS IS ONLY SAMPLE RESUME - DO NOT COPY AND PASTE INTO YOUR RESUME. WE ARE NOT RESPONSIBLE Name: xxxxxx
Name: xxxxxx Email ID: xxxxxx Ph: xxxxxx Summary: Over 7 years of experience in object oriented programming, design and development of Multi-Tier distributed, Enterprise applications using Java and J2EE
More informationServices Oriented Architecture and the Enterprise Services Bus
IBM Software Group Services Oriented Architecture and the Enterprise Services Bus The next step to an on demand business Geoff Hambrick Distinguished Engineer, ISSW Enablement Team ghambric@us.ibm.com
More information(9A05803) WEB SERVICES (ELECTIVE - III)
1 UNIT III (9A05803) WEB SERVICES (ELECTIVE - III) Web services Architecture: web services architecture and its characteristics, core building blocks of web services, standards and technologies available
More informationComponent-based Architecture Buy, don t build Fred Broks
Component-based Architecture Buy, don t build Fred Broks 1. Why use components?... 2 2. What are software components?... 3 3. Component-based Systems: A Reality!! [SEI reference]... 4 4. Major elements
More informationTransJ: An Abstract Independent-Framework for Weaving Crosscutting Concern into Distributed Transactions
Computer Technology and Application 7 (2016) 173-195 doi: 10.17265/1934-7332/2016.04.001 D DAVID PUBLISHING TransJ: An Abstract Independent-Framework for Weaving Crosscutting Concern into Distributed Transactions
More informationAO4BPEL: An Aspect-oriented Extension to BPEL
World Wide Web (2007) 10:309 344 DOI 10.1007/s11280-006-0016-3 AO4BPEL: An Aspect-oriented Extension to BPEL Anis Charfi Mira Mezini Received: 7 September 2004 / Revised: 31 July 2005 / Accepted: 16 August
More informationWriting Portable Applications for J2EE. Pete Heist Compoze Software, Inc.
Writing Portable Applications for J2EE Pete Heist Compoze Software, Inc. Overview Compoze Business Aspects of Portability J2EE Compatibility Test Suite Abstracting out Vendor Specific Code Bootstrapping
More informationEnterprise Java Development using JPA, Hibernate and Spring. Srini Penchikala Detroit JUG Developer Day Conference November 14, 2009
Enterprise Java Development using JPA, Hibernate and Spring Srini Penchikala Detroit JUG Developer Day Conference November 14, 2009 About the Speaker Enterprise Architect Writer, Speaker, Editor (InfoQ)
More informationFrom the RCP Book To Reality. Jean-Michel Lemieux IBM Rational, Ottawa, Canada
From the RCP Book To Reality Jean-Michel Lemieux IBM Rational, Ottawa, Canada 2008 by Jean-Michel Lemieux made available under the EPL v1.0 March 2008 Past, Present, Future Eclipse committer since it s
More informationJAVA COURSES. Empowering Innovation. DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP
2013 Empowering Innovation DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP contact@dninfotech.com www.dninfotech.com 1 JAVA 500: Core JAVA Java Programming Overview Applications Compiler Class Libraries
More informationBuilding Java Persistence API Applications with Dali 1.0 Shaun Smith
Building Java Persistence API Applications with Dali 1.0 Shaun Smith shaun.smith@oracle.com A little about Me Eclipse Dali JPA Tools Project Co-Lead Eclipse Persistence Services Project (EclipseLink) Ecosystem
More informationIntroduction to Web Application Development Using JEE, Frameworks, Web Services and AJAX
Introduction to Web Application Development Using JEE, Frameworks, Web Services and AJAX Duration: 5 Days US Price: $2795 UK Price: 1,995 *Prices are subject to VAT CA Price: CDN$3,275 *Prices are subject
More informationSeparation of Navigation Routing Code in J2EE Web Applications
Separation of Navigation Routing Code in J2EE Web Applications Minmin Han and Christine Hofmeister Computer Science and Engineering Dept, Lehigh University 19 Memorial Dr. W., Bethlehem, PA 18015, USA
More informationInformation systems modeling. Tomasz Kubik
Information systems modeling Tomasz Kubik Aspect-oriented programming, AOP Systems are composed of several components, each responsible for a specific piece of functionality. But often these components
More informationDB2 Stored Procedure and UDF Support in Rational Application Developer V6.01
Session F08 DB2 Stored Procedure and UDF Support in Rational Application Developer V6.01 Marichu Scanlon marichu@us.ibm.com Wed, May 10, 2006 08:30 a.m. 09:40 a.m. Platform: Cross Platform Audience: -DBAs
More information2005, Cornell University
Rapid Application Development using the Kuali Architecture (Struts, Spring and OJB) A Case Study Bryan Hutchinson bh79@cornell.edu Agenda Kuali Application Architecture CATS Case Study CATS Demo CATS Source
More information/ / JAVA TRAINING
www.tekclasses.com +91-8970005497/+91-7411642061 info@tekclasses.com / contact@tekclasses.com JAVA TRAINING If you are looking for JAVA Training, then Tek Classes is the right place to get the knowledge.
More information.Net and Rational s XDE from the trenches Tony Grout FMI Solutions
.Net and Rational s XDE from the trenches.net and Rational s XDE from the trenches Tony Grout FMI Tony Solutions Grout FMI Solutions Agenda! Who are FMI Solutions?! Setting the Scene! Getting the Project
More informationCopyright IBM Corporation 2004.All rights reserved.
Copyright IBM Corporation 2004.All rights reserved. http://www-106.ibm.com/developerworks/rational/library/2782.html Search help A look at aspect-oriented programming Gary Pollice Worcester Polytechnic
More informationBuilding JavaServer Faces Applications
IBM Software Group St. Louis Java User Group Tim Saunders ITS Rational Software tim.saunders@us.ibm.com 2005 IBM Corporation Agenda JSF Vision JSF Overview IBM Rational Application Developer v6.0 Build
More informationGetting the Most from Eclipse
Getting the Most from Eclipse Darin Swanson IBM Rational Portland, Oregon Darin_Swanson@us.ibm.com March 17, 2005 What is Eclipse An extensible tools platform Out-of-box function and quality to attract
More informationAspect Oriented Java RMI Server
Aspect Oriented Java RMI Server Inderjit Singh Dhanoa BIS College of Engineering & Tech., Moga inderp10@yahoo.co.in Er.Dalwinder Singh Salaria Lovely Professional University ds_salaria@yahoo.co.in ABSTRACT
More informationAgile Engineering. and other stuff I m working on
Agile Engineering and other stuff I m working on 2008 Gilb conference on Risk Ryan Shriver > Managing Consultant > rshriver@dominiondigital.com Leader in IT Performance Improvement > www.dominiondigital.com
More informationEJB ENTERPRISE JAVA BEANS INTRODUCTION TO ENTERPRISE JAVA BEANS, JAVA'S SERVER SIDE COMPONENT TECHNOLOGY. EJB Enterprise Java
EJB Enterprise Java EJB Beans ENTERPRISE JAVA BEANS INTRODUCTION TO ENTERPRISE JAVA BEANS, JAVA'S SERVER SIDE COMPONENT TECHNOLOGY Peter R. Egli 1/23 Contents 1. What is a bean? 2. Why EJB? 3. Evolution
More informationSocket attaches to a Ratchet. 2) Bridge Decouple an abstraction from its implementation so that the two can vary independently.
Gang of Four Software Design Patterns with examples STRUCTURAL 1) Adapter Convert the interface of a class into another interface clients expect. It lets the classes work together that couldn't otherwise
More informationAspect-Oriented Programming with C++ and AspectC++
Aspect-Oriented Programming with C++ and AspectC++ AOSD 2007 Tutorial University of Erlangen-Nuremberg Computer Science 4 Presenters Daniel Lohmann dl@aspectc.org University of Erlangen-Nuremberg, Germany
More informationChapter 1 GETTING STARTED. SYS-ED/ Computer Education Techniques, Inc.
Chapter 1 GETTING STARTED SYS-ED/ Computer Education Techniques, Inc. Objectives You will learn: The IDE: Integrated Development Environment. MVC: Model-View-Controller Architecture. BC4J: Business Components
More informationSpring & Hibernate. Knowledge of database. And basic Knowledge of web application development. Module 1: Spring Basics
Spring & Hibernate Overview: The spring framework is an application framework that provides a lightweight container that supports the creation of simple-to-complex components in a non-invasive fashion.
More informationcom Spring + Spring-MVC + Spring-Boot + Design Pattern + XML + JMS Hibernate + Struts + Web Services = 8000/-
www.javabykiran. com 8888809416 8888558802 Spring + Spring-MVC + Spring-Boot + Design Pattern + XML + JMS Hibernate + Struts + Web Services = 8000/- Java by Kiran J2EE SYLLABUS Servlet JSP XML Servlet
More informationFun with AspectJ. 1 Getting Started. 2 Defining Pointcuts. Cleveland State University Electrical and Computer Engineering Distributed: April 8, 2008
EEC 421/521 Spring 2008 Dr. Nigamanth Sridhar Software Engineering Cleveland State University Electrical and Computer Engineering Distributed: April 8, 2008 Fun with AspectJ AspectJ is a pretty powerful
More informationOracle EXAM - 1Z Oracle Application Integration Architecture 11g Essentials. Buy Full Product.
Oracle EXAM - 1Z0-543 Oracle Application Integration Architecture 11g Essentials Buy Full Product http://www.examskey.com/1z0-543.html Examskey Oracle 1Z0-543 exam demo product is here for you to test
More informationSpring Interview Questions
Spring Interview Questions By Srinivas Short description: Spring Interview Questions for the Developers. @2016 Attune World Wide All right reserved. www.attuneww.com Contents Contents 1. Preface 1.1. About
More informationAndy Clement, SpringSource/VMware SpringSource, A division of VMware. All rights reserved
Mixed language project compilation in Eclipse: Java and Groovy Andy Clement, SpringSource/VMware 2010 SpringSource, A division of VMware. All rights reserved Agenda Me Groovy-Eclipse version 2 Quick review
More informationMock Objects and the Mockito Testing Framework Carl Veazey CSCI Friday, March 23, 12
Mock Objects and the Mockito Testing Framework Carl Veazey CSCI 5828 Introduction Mock objects are a powerful testing pattern for verifying the behavior and interactions of systems. This presentation aims
More informationEmploying Query Technologies for Crosscutting Concern Comprehension
Employing Query Technologies for Crosscutting Concern Comprehension Marius Marin Accenture The Netherlands Marius.Marin@accenture.com Abstract Common techniques for improving comprehensibility of software
More informationAOP Tutorial. Written By: Muhammad Asif. Department of Computer Science, Virtual University of Pakistan
AOP Tutorial Written By: Muhammad Asif. Department of Computer Science, Virtual University of Pakistan Table of Contents 1.0 INTRODUCTION... 3 2.0 SCOPE AND OBJECTIVE... 4 3.0 MOTIVATION... 5 4.0 HISTORY...
More informationActive Endpoints. ActiveVOS Platform Architecture Active Endpoints
Active Endpoints ActiveVOS Platform Architecture ActiveVOS Unique process automation platforms to develop, integrate, and deploy business process applications quickly User Experience Easy to learn, use
More informationJava AOP in Spring 2.0 Rob Harrop, Interface21 Ltd.
Java AOP in Spring 2.0 Rob Harrop, Interface21 Ltd. Agenda What's new in Spring 2.0 Simplifying transaction configuration @AspectJ Aspects Writing pointcuts with AspectJ Using AspectJ aspects Aspects and
More informationASG WHITE PAPER DATA INTELLIGENCE. ASG s Enterprise Data Intelligence Solutions: Data Lineage Diving Deeper
THE NEED Knowing where data came from, how it moves through systems, and how it changes, is the most critical and most difficult task in any data management project. If that process known as tracing data
More informationTake Control with AspectJ
Hermod Opstvedt Chief Architect DnB NOR ITUD Common components Hermod Opstvedt Slide 1 What is AspectJ? Aspect-oriented programming (AOP) is a technique for improving separation of concerns. Crosscutting
More informationDesign patterns using Spring and Guice
Design patterns using Spring and Guice Dhanji R. Prasanna MANNING contents 1 Dependency 2 Time preface xv acknowledgments xvii about this book xix about the cover illustration xxii injection: what s all
More informationContent(2) Contribution of OOT in Software Engineering History of SE Technologies and Contribution of OOT JAIST Koichiro Ochimizu
Content(2) Object-oriented Software Development Methodology Outline of Unified Process and Use-case Driven Approach Elevator Control System: Problem Description and Use-case Model Elevator Control System:
More informationEnterprise AOP with Spring Applications IN ACTION SAMPLE CHAPTER. Ramnivas Laddad FOREWORD BY ROD JOHNSON MANNING
Enterprise AOP with Spring Applications IN ACTION SAMPLE CHAPTER Ramnivas Laddad FOREWORD BY ROD JOHNSON MANNING AspectJ in Action Second Edition by Ramnivas Laddad Chapter 1 Copyright 2010 Manning Publications
More informationA Brief Introduction to Aspect-Oriented Programming" Historical View Of Languages"
A Brief Introduction to Aspect-Oriented Programming" Historical View Of Languages" Procedural language" Functional language" Object-Oriented language" 1 Acknowledgements" Zhenxiao Yang" Gregor Kiczales"
More informationUntangling: A Slice Extraction Refactoring
Untangling: A Slice Extraction Refactoring Ran Ettinger and Mathieu Verbaere Programming Tools Group Computing Laboratory University of Oxford Thanks to our supervisor Oege de Moor Supported by an Eclipse
More informationAspect Oriented Programming with AspectJ. Ted Leung Sauria Associates, LLC
Aspect Oriented Programming with AspectJ Ted Leung Sauria Associates, LLC twl@sauria.com Overview Why do we need AOP? What is AOP AspectJ Why do we need AOP? Modular designs are not cut and dried Responsibilities
More informationData Management in Application Servers. Dean Jacobs BEA Systems
Data Management in Application Servers Dean Jacobs BEA Systems Outline Clustered Application Servers Adding Web Services Java 2 Enterprise Edition (J2EE) The Application Server platform for Java Java Servlets
More informationIntegrating Legacy Assets Using J2EE Web Services
Integrating Legacy Assets Using J2EE Web Services Jonathan Maron Oracle Corporation Page Agenda SOA-based Enterprise Integration J2EE Integration Scenarios J2CA and Web Services Service Enabling Legacy
More informationJ2EE Application Development : Conversion and Beyond Osmond Ng
IBM Software Group J2EE Application Development : Conversion and Beyond Osmond Ng IBM Software Group Practitioner View Point IBM Rational Application Developer J2EE/EJB Tooling J2EE construction tools
More informationChapitre 6 Programmation orientée aspect (AOP)
6 Programmation orientée aspect (AOP) 2I1AC3 : Génie logiciel et Patrons de conception Régis Clouard, ENSICAEN - GREYC «L'homme est le meilleur ordinateur que l'on puisse embarquer dans un engin spatial...
More informationebusiness Suite goes SOA
ebusiness Suite goes SOA Ulrich Janke Oracle Consulting Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not
More informationIBM Rational Rose XDE Developer
Extend Your Development Experience Developer Highlights Model-driven development Assisted modeling with UML support Multiple model support for Roundtrip engineering Java, Model-Driven Architecture C++,
More informationObjectives for this class meeting. 1. Conduct review of core concepts concerning contracts and pre/post conditions
CSE1720 Click to edit Master Week text 01, styles Lecture 02 Second level Third level Fourth level Fifth level Winter 2015! Thursday, Jan 8, 2015 1 Objectives for this class meeting 1. Conduct review of
More informationSPRING MOCK TEST SPRING MOCK TEST I
http://www.tutorialspoint.com SPRING MOCK TEST Copyright tutorialspoint.com This section presents you various set of Mock Tests related to Spring Framework. You can download these sample mock tests at
More information1 Copyright 2011, Oracle and/or its affiliates. All rights reserved.
1 Copyright 2011, Oracle and/or its affiliates. All rights reserved. ORACLE PRODUCT LOGO Oracle ADF Programming Best Practices Frank Nimphius Oracle Application Development Tools Product Management 2 Copyright
More informationDESIGN PATTERN - INTERVIEW QUESTIONS
DESIGN PATTERN - INTERVIEW QUESTIONS http://www.tutorialspoint.com/design_pattern/design_pattern_interview_questions.htm Copyright tutorialspoint.com Dear readers, these Design Pattern Interview Questions
More informationOracle Fusion Middleware
Oracle Fusion Middleware Using Oracle Eloqua Cloud Adapter Release 12.2.1.1.0 E73562-01 June 2016 Oracle Fusion Middleware Using Oracle Eloqua Cloud Adapter, Release 12.2.1.1.0 E73562-01 Copyright 2015,
More informationApplying Aspect Oriented Programming on Security
Original Article Applying Aspect Oriented Programming on Security Mohammad Khalid Pandit* 1, Azra Nazir 1 and Arutselvan M 2 1 Department of computer Science and engineering, National institute of technology
More informationEclipse and Java 8. Daniel Megert Platform and JDT Lead Eclipse PMC Member IBM Rational Zurich Research Lab
Eclipse and Java 8 Daniel Megert Platform and JDT Lead Eclipse PMC Member IBM Rational Zurich Research Lab Eclipse and Java 8 New Java language features Eclipse features for Java 8 (demo) Behind the scenes
More informationAn AspectJ-enabled Eclipse Runtime Engine - Demonstration at AOSD 04 - Martin Lippert
An AspectJ-enabled Eclipse Runtime Engine - Demonstration at AOSD 04 - Martin Lippert lippert@acm.org www.martinlippert.com Motivation Use Eclipse 3.0 RCP to develop enterprise applications Use AspectJ
More informationBuilding E-Business Suite Interfaces using BPEL. Asif Hussain Innowave Technology
Building E-Business Suite Interfaces using BPEL Asif Hussain Innowave Technology Agenda About Innowave Why Use BPEL? Synchronous Vs Asynchronous BPEL Adapters Process Activities Building EBS Interfaces
More information"Web Age Speaks!" Webinar Series
"Web Age Speaks!" Webinar Series Java EE Patterns Revisited WebAgeSolutions.com 1 Introduction Bibhas Bhattacharya CTO bibhas@webagesolutions.com Web Age Solutions Premier provider of Java & Java EE training
More informationChapter 32. Aspect-Oriented Software Development (AOSD) Ian Sommerville 2006 Software Engineering. Chapter 32 Slide 1
Chapter 32 Aspect-Oriented Software Development (AOSD) Ian Sommerville 2006 Software Engineering. Chapter 32 Slide 1 Objectives To explain the principle of separation of concerns in software development
More information