Aspect Oriented Programming. with. Spring
|
|
|
- Randell Cornelius Hawkins
- 10 years ago
- Views:
Transcription
1 Aspect Oriented Programming with Spring
2 Problem area How to modularize concerns that span multiple classes and layers? Examples of cross-cutting concerns: Transaction management Logging Profiling Security Internationalisation
3 Logging: A naive approach Retrieving log instance Logging method executions public class HibernateEventDAO private static Log log = LogFactory.getLog( HibernateEventDAO.class ); public Integer saveevent( Event event ) log.info( Executing saveevent( Event ) with argument + event.tostring() ); Session session = sessionmanager.getcurrentsession(); } return (Integer) session.save( event ); public Event getevent( Integer id ) log.info( Executing getevent( int ) ); Session session = sessionmanager.getcurrentsession(); } return (Event) session.get( Event.class, id );
4 Logging: A naive approach Invokes methods on the DAOs EventManager Service layer (method invocation) DAOs perform both logging and persistence operations PersonDAO EventDAO Persistence layer
5 Shortcomings of naive approach Mixes persistence and logging functionality Violates the principle of separation of concerns Increases complexity and inter-dependency Involves repetition of code Violates the DRY principle Makes it difficult to change Couples the LogFactory to the HibernateEventDAO Prevents loosely coupled design Makes change, re-use and testing problematic
6 Logging: The AOP approach EventManager Service layer Intercepts method invocations and performs logging AOP interceptor (method invocation) DAOs perform persistence only PersonDAO EventDAO Persistence layer
7 Advantages of AOP approach Separates persistence and logging functionality The logging concern taken care of by the interceptor Makes it easier to understand, manage and debug Promotes code reuse and modularization The AOP interceptor is used by all methods in the DAOs Makes it easier to change Decouples the LogFactory from the DAO impl s The HibernateEventDAO is unaware of being logged Makes change, re-use and testing simple
8 Aspect Oriented Programming Definition: Enables encapsulation of functionality that affects multiple classes in separate units Complements object oriented programming Most popular implementation for Java is AspectJ Aspect oriented extension for Java Based on Eclipse, available as plugin and stand-alone
9 Spring overview
10 AOP with Spring The AOP framework is a key component of Spring Provides declarative enterprise services (transactions) Allows for custom aspects Aims at providing integration between AOP and IoC Integrates but doesn t compete with AspectJ Provides two techniques for defining annotation XML schema-based
11 AOP concepts Aspect A concern that cuts across multiple classes and layers Join point A method invocation during the execution of a program Advice An implementation of a concern represented as an interceptor Pointcut An expression mapped to a join point
12 @AspectJ support Style of declaring aspects as regular Java classes with Java 5 annotations Requires aspectjweaver and aspectjrt on the classpath Enabled by including the following information in the Spring configuration file: <beans xmlns=" xmlns:xsi=" xmlns:aop=" xsi:schemalocation=" <aop:aspectj-autoproxy/>
13 Declaring an aspect A concern that cuts across multiple classses and annotation Any bean with a class annotated as an aspect will be automatically detected by Spring import public class LoggingInterceptor //... } Regular bean definition pointing to a bean class with annotation <bean id="logginginterceptor" class="no.uio.inf5750.interceptor.logginginterceptor"/>
14 Declaring a pointcut An expression mapped to a join point (method invocation) AspectJ pointcut expression that determines which method executions to intercept Indicated by annotation Pointcut signature provided by a regular method Public class "execution( * no.uio.inf5750.dao.*.*(..) )" ) private void daolayer() }
15 Pointcut expression pattern The execution pointcut designator is used most often Pointcut designator. Mandatory. Can use * to match any type. Mandatory. Method name. Can use * to match any type. Mandatory. Exception type. Optional. designator( modifiers return-type declaring-type name(params) throws ) Public, private, etc. Optional. Package and class name. Optional. () = no params. (..) = any nr of params. (*,String) = one of any type, one of String.
16 Pointcut expression examples Any public method execution( public * *(..) ) Any public method defined in the dao package execution( public * no.uio.inf5750.dao.*.*(..) ) Any method with a name beginning with save execution( * save*(..) ) Any method defined by the EventDAO interface with one param execution( * no.uio.inf5750.dao.eventdao.*(*) )
17 Declaring advice Implementation of concern represented as an interceptor Types Before advice After advice Around advice Provides access to the current join point (target object, description of advised method, ect. ) Before advice. Executes before the matched method. Declared using public class no.uio.inf5750.interceptor.logginginterceptor.daolayer() ) public void intercept( JoinPoint joinpoint ) log.info( Executing + joinpoint.getsignature().toshortstring() ); }
18 After returning & throwing advice After returning advice. Executes after the matched method has returned normally. Declared using public class no.uio.inf5750.interceptor.logginginterceptor.daolayer() ) public void intercept( JoinPoint joinpoint ) log.info( Executed successfully + joinpoint.getsignature().toshortstring() ); } After throwing advice. Executes after the matched method has thrown an exception. public class no.uio.inf5750.interceptor.logginginterceptor.daolayer() ) public void intercept( JoinPoint joinpoint ) log.info( Execution failed + joinpoint.getsignature().toshortstring() ); }
19 Around advice Can do work both before and after the method executes Determines when, how and if the method is executed Around advice. The first parameter must be of type ProceedingJoinPoint calling proceed() causes the target method to execute. Declared using public class no.uio.inf5750.interceptor.logginginterceptor.daolayer() ) public void intercept( ProceedingJoinPoint joinpoint ) log.info( Executing + joinpoint.getsignature().toshortstring() ); try joinpoint.proceed(); } catch ( Throwable t ) log.error( t.getmessage() + : + joinpoint.getsignature().toshortstring() ); throw t; } } log.info( Successfully executed + joinpoint.getsignature().toshortstring() );
20 Accessing arguments The args binding form makes argument values available to the advice body Argument name must correspond with advice method signature Makes the object argument available to the advice body Will restrict matching to methods declaring at least one public class no.uio.inf5750.interceptor.logginginterceptor.daolayer() and + args( object,.. ) ) public void intercept( JoinPoint joinpoint, Object object ) log.info( Executing + joinpoint.getsignature().toshortstring() + with argument + object.tostring() ); }
21 Accessing return values The returning binding form makes the return value available to the advice body Return value name must correspond with advice method signature Makes the object return value available to the advice body Will restrict matching to methods returning a value of specified public class pointcut= no.uio.inf5750.interceptor.logginginterceptor.daolayer(), returning= object ) public void intercept( JoinPoint joinpoint, Object object ) log.info( Executed + joinpoint.getsignature().toshortstring() + with return value + object.tostring() ); }
22 Schema-based support Lets you define aspects using the aop namespace tags in the Spring configuration file Enabled by importing the Spring aop schema Pointcut expressions and advice types similar Suitable when: You are unable to use Java 5 Prefer an XML based format You need multiple joinpoints for an advice
23 Declaring an aspect An aspect is a regular Java object defined as a bean in the Spring context All configuration inside an <aop:config> element Aspect declared using the <aop:aspect> element. Backing bean is referenced with the ref attribute. <aop:config> <aop:aspect id= logging ref= logginginterceptor > </aop:aspect> </aop:config> <bean id="logginginterceptor" class="no.uio.inf5750.interceptor.logginginterceptor"/> Regular bean definition
24 Declaring a pointcut Pointcut expressions are similar A pointcut can be shared across advice Pointcut declared inside <aop:config> element using the <aop:pointcut> element Can also be defined inside aspects <aop:config> <aop:pointcut id= daolayer expression="execution( * no.uio.inf5750.dao.*.*(..) ) /> </aop:config>
25 Declaring advice Before advice. Declared inside an aspect. <aop:aspect id= logging ref= logginginterceptor > <aop:before pointcut-ref= daolayer method= intercept /> </aop:aspect> Refers to pointcut Refers to advising method Advice is a regular Java class public class LoggingInterceptor public void intercept( JoinPoint joinpoint ) // Do some useful intercepting work } }
26 Declaring advice <aop:aspect id= logging ref= logginginterceptor > After returning advice <aop:after-returning pointcut-ref= daolayer method= intercept /> </aop:aspect> <aop:aspect id= logging ref= logginginterceptor > After throwing advice <aop:after-throwing pointcut-ref= daolayer method= intercept /> </aop:aspect> <aop:aspect id= logging ref= logginginterceptor > Around advice <aop:around pointcut-ref= daolayer method= intercept /> </aop:aspect>
27 AOP - Transaction Management TransactionManager interface public interface TransactionManager public void enter(); public void abort(); public void leave(); Transaction management implemented with around advice Enters transaction before method invocation Aborts and rolls back transaction if method fails Leaves transaction if method completes public interface execution( public no.uio.inf5750.dao.*.*(..) ) ) // In-line pointcut public void intercept( ProceedingJoinPoint joinpoint ) transactionmanager.enter(); try joinpoint.proceed(); } catch ( Throwable t ) transactionmanager.abort(); throw t; } transactionmanager.leave();
28 @AspectJ or Schema-based? Advantages of schema style Can be used with any JDK level Clearer which aspects are present in the system Advantages style One single unit where information is encapsulated for an aspect Can be understood by AspectJ easy to migrate later
29 Summary Key components in AOP are aspect, pointcut, join point, and advice AOP lets you encapsulate functionality that affects multiple classes in an interceptor Advantages of AOP: Promotes separation of concern Promotes code reuse and modularization Promotes loosely coupled design
30 References The Spring reference documentation - Chapter 6 AOP example code
SPRING INTERVIEW QUESTIONS
SPRING INTERVIEW QUESTIONS http://www.tutorialspoint.com/spring/spring_interview_questions.htm Copyright tutorialspoint.com Dear readers, these Spring Interview Questions have been designed specially to
Integration of Application Business Logic and Business Rules with DSL and AOP
Integration of Application Business Logic and Business Rules with DSL and AOP Bogumiła Hnatkowska and Krzysztof Kasprzyk Wroclaw University of Technology, Wyb. Wyspianskiego 27 50-370 Wroclaw, Poland [email protected]
Aspect-Oriented Programming
Aspect-Oriented Programming An Introduction to Aspect-Oriented Programming and AspectJ Niklas Påhlsson Department of Technology University of Kalmar S 391 82 Kalmar SWEDEN Topic Report for Software Engineering
Model-View-Controller. and. Struts 2
Model-View-Controller and Struts 2 Problem area Mixing application logic and markup is bad practise Harder to change and maintain Error prone Harder to re-use public void doget( HttpServletRequest request,
Chapter 5 Aspect Oriented Programming
2I1AC3 : Génie logiciel et Patrons de conception Chapter 5 Aspect Oriented Programming J'ai toujours rêvé d'un ordinateur qui soit aussi facile à utiliser qu'un téléphone. Mon rêve s'est réalisé. Je ne
Web Frameworks and WebWork
Web Frameworks and WebWork Problem area Mixing application logic and markup is bad practise Harder to change and maintain Error prone Harder to re-use public void doget( HttpServletRequest request, HttpServletResponse
Integration of Application Business Logic and Business Rules with DSL and AOP
e-informatica Software Engineering Journal, Volume 4, Issue, 200 Integration of Application Business Logic and Business Rules with DSL and AOP Bogumiła Hnatkowska, Krzysztof Kasprzyk Faculty of Computer
Glassbox: Open Source and Automated Application Troubleshooting. Ron Bodkin Glassbox Project Leader [email protected]
Glassbox: Open Source and Automated Application Troubleshooting Ron Bodkin Glassbox Project Leader [email protected] First a summary Glassbox is an open source automated troubleshooter for Java
Spring Data JDBC Extensions Reference Documentation
Reference Documentation ThomasRisberg Copyright 2008-2015The original authors Copies of this document may be made for your own use and for distribution to others, provided that you do not charge any fee
The Service Revolution software engineering without programming languages
The Service Revolution software engineering without programming languages Gustavo Alonso Institute for Pervasive Computing Department of Computer Science Swiss Federal Institute of Technology (ETH Zurich)
Tutorial for Spring DAO with JDBC
Overview Tutorial for Spring DAO with JDBC Prepared by: Nigusse Duguma This tutorial demonstrates how to work with data access objects in the spring framework. It implements the Spring Data Access Object
Beginning POJOs. From Novice to Professional. Brian Sam-Bodden
Beginning POJOs From Novice to Professional Brian Sam-Bodden Contents About the Author Acknowledgments Introduction.XIII xv XVII CHAPTER1 Introduction The Java EE Market Case Study: The TechConf Website...
Unit Testing. and. JUnit
Unit Testing and JUnit Problem area Code components must be tested! Confirms that your code works Components must be tested t in isolation A functional test can tell you that a bug exists in the implementation
Web Applications and Struts 2
Web Applications and Struts 2 Problem area Problem area Separation of application logic and markup Easier to change and maintain Easier to re use Less error prone Access to functionality to solve routine
OUR COURSES 19 November 2015. All prices are per person in Swedish Krona. Solid Beans AB Kungsgatan 32 411 19 Göteborg Sweden
OUR COURSES 19 November 2015 Solid Beans AB Kungsgatan 32 411 19 Göteborg Sweden Java for beginners JavaEE EJB 3.1 JSF (Java Server Faces) PrimeFaces Spring Core Spring Advanced Maven One day intensive
Web Application Access Control with Java SE Security
Web Application Access Control with Java SE Security Java Forum Stuttgart 2009 Jürgen Groothues Stuttgart, Agenda 1. Access Control Basics 2. The Java Authentication and Authorization Service (JAAS) 3.
Overview of Web Services API
1 CHAPTER The Cisco IP Interoperability and Collaboration System (IPICS) 4.5(x) application programming interface (API) provides a web services-based API that enables the management and control of various
Using an Aspect Oriented Layer in SOA for Enterprise Application Integration
19 Using an Aspect Oriented Layer in SOA for Enterprise Application Integration Chinthaka D. Induruwana School of Computer Science, University of Manchester, Kilburn Building, Oxford Road M13 9PL [email protected]
Enterprise 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 10 Copyright 2010 Manning Publications
Encapsulating Crosscutting Concerns in System Software
Encapsulating Crosscutting Concerns in System Software Christa Schwanninger, Egon Wuchner, Michael Kircher Siemens AG Otto-Hahn-Ring 6 81739 Munich Germany {christa.schwanninger,egon.wuchner,michael.kircher}@siemens.com
Aspect-Oriented Web Development in PHP
Aspect-Oriented Web Development in PHP Jorge Esparteiro Garcia Faculdade de Engenharia da Universidade do Porto [email protected] Abstract. Aspect-Oriented Programming (AOP) provides another way of
Developing a Web Server Platform with SAPI Support for AJAX RPC using JSON
Revista Informatica Economică, nr. 4 (44)/2007 45 Developing a Web Server Platform with SAPI Support for AJAX RPC using JSON Iulian ILIE-NEMEDI, Bucharest, Romania, [email protected] Writing a custom web
Effective logging practices ease enterprise
1 of 9 4/9/2008 9:56 AM Effective logging practices ease enterprise development Establish a logging plan up front and reap rewards later in the development process Level: Intermediate Charles Chan ([email protected]),
EJB 3.0 and IIOP.NET. Table of contents. Stefan Jäger / [email protected] 2007-10-10
Stefan Jäger / [email protected] EJB 3.0 and IIOP.NET 2007-10-10 Table of contents 1. Introduction... 2 2. Building the EJB Sessionbean... 3 3. External Standard Java Client... 4 4. Java Client with
Generating Aspect Code from UML Models
Generating Aspect Code from UML Models Iris Groher Siemens AG, CT SE 2 Otto-Hahn-Ring 6 81739 Munich, Germany [email protected] Stefan Schulze Siemens AG, CT SE 2 Otto-Hahn-Ring 6 81739 Munich,
Research Article. ISSN 2347-9523 (Print) *Corresponding author Lili Wang Email: [email protected]
Scholars Journal of Engineering and Technology (SJET) Sch. J. Eng. Tech., 2015; 3(4B):424-428 Scholars Academic and Scientific Publisher (An International Publisher for Academic and Scientific Resources)
Progress Report Aspect Oriented Programming meets Design Patterns. Academic Programme MSc in Advanced Computer Science. Guillermo Antonio Toro Bayona
Progress Report Aspect Oriented Programming meets Design Patterns Academic Programme MSc in Advanced Computer Science Guillermo Antonio Toro Bayona Supervisor Dr. John Sargeant The University of Manchester
An Overview of Java. overview-1
An Overview of Java overview-1 Contents What is Java Major Java features Java virtual machine Java programming language Java class libraries (API) GUI Support in Java Networking and Threads in Java overview-2
Designing with Exceptions. CSE219, Computer Science III Stony Brook University http://www.cs.stonybrook.edu/~cse219
Designing with Exceptions CSE219, Computer Science III Stony Brook University http://www.cs.stonybrook.edu/~cse219 Testing vs. Debugging Testing Coding Does the code work properly YES NO 2 Debugging Testing
Easy-Cassandra User Guide
Easy-Cassandra User Guide Document version: 005 1 Summary About Easy-Cassandra...5 Features...5 Java Objects Supported...5 About Versions...6 Version: 1.1.0...6 Version: 1.0.9...6 Version: 1.0.8...6 Version:
Running and Testing Java EE Applications in Embedded Mode with JupEEter Framework
JOURNAL OF APPLIED COMPUTER SCIENCE Vol. 21 No. 1 (2013), pp. 53-69 Running and Testing Java EE Applications in Embedded Mode with JupEEter Framework Marcin Kwapisz 1 1 Technical University of Lodz Faculty
COMPARISON BETWEEN SPRING AND ASP.NET FRAMEWORKS
COMPARISON BETWEEN SPRING AND ASP.NET FRAMEWORKS Preeti Malik (pm2371) Instructor: Prof. Gail Kaiser COMS E6125: Web-enhanced Information Management (Spring 2009) ASP.NET MVC IMPLEMENTATION Offers basic
TABLE OF CONTENTS...2 INTRODUCTION...3 APPLETS AND APPLICATIONS...3 JAVABEANS...4 EXCEPTION HANDLING...5 JAVA DATABASE CONNECTIVITY (JDBC)...
Advanced Features Trenton Computer Festival May 1 sstt & 2 n d,, 2004 Michael P.. Redlich Senior Research Technician ExxonMobil Research & Engineering [email protected] Table of Contents
A COMPARISON OF AOP BASED MONITORING TOOLS
STUDIA UNIV. BABEŞ BOLYAI, INFORMATICA, Volume LVI, Number 3, 2011 A COMPARISON OF AOP BASED MONITORING TOOLS GRIGORETA S. COJOCAR AND DAN COJOCAR Abstract. The performance requirements of a software system
Tutorial for Creating Resources in Java - Client
Tutorial for Creating Resources in Java - Client Overview Overview 1. Preparation 2. Creation of Eclipse Plug-ins 2.1 The flight plugin 2.2 The plugin fragment for unit tests 3. Create an integration test
Developing Web Services with Apache CXF and Axis2
Developing Web Services with Apache CXF and Axis2 By Kent Ka Iok Tong Copyright 2005-2010 TipTec Development Publisher: TipTec Development Author's email: [email protected] Book website: http://www.agileskills2.org
Amazon Glacier. Developer Guide API Version 2012-06-01
Amazon Glacier Developer Guide Amazon Glacier: Developer Guide Copyright 2016 Amazon Web Services, Inc. and/or its affiliates. All rights reserved. Amazon's trademarks and trade dress may not be used in
Software Development Kit
Open EMS Suite by Nokia Software Development Kit Functional Overview Version 1.3 Nokia Siemens Networks 1 (21) Software Development Kit The information in this document is subject to change without notice
How to Model Aspect-Oriented Web Services
How to Model Aspect-Oriented Web Services Guadalupe Ortiz Juan Hernández [email protected] [email protected] Quercus Software Engineering Group University of Extremadura Computer Science Department Pedro
Introduction to Java
Introduction to Java The HelloWorld program Primitive data types Assignment and arithmetic operations User input Conditional statements Looping Arrays CSA0011 Matthew Xuereb 2008 1 Java Overview A high
Where Did My Architecture Go?
Where Did My Architecture Go? Preserving and recovering the design of software in its implementation QCON London March 2011 Eoin Woods www.eoinwoods.info Content Losing Design in the Code Key Design Constructs
How To Implement Lightweight ESOA with Java
Abstract How To Implement Lightweight ESOA with Java La arquitectura SOA utiliza servicios para integrar sistemas heterogéneos. Enterprise SOA (ESOA) extiende este enfoque a la estructura interna de sistemas,
CHAPTER 10: WEB SERVICES
Chapter 10: Web Services CHAPTER 10: WEB SERVICES Objectives Introduction The objectives are: Provide an overview on how Microsoft Dynamics NAV supports Web services. Discuss historical integration options,
Enterprise Application Development In Java with AJAX and ORM
Enterprise Application Development In Java with AJAX and ORM ACCU London March 2010 ACCU Conference April 2010 Paul Grenyer Head of Software Engineering [email protected] http://paulgrenyer.blogspot.com
Java Web Services SDK
Java Web Services SDK Version 1.5.1 September 2005 This manual and accompanying electronic media are proprietary products of Optimal Payments Inc. They are to be used only by licensed users of the product.
A Sample OFBiz application implementing remote access via RMI and SOAP Table of contents
A Sample OFBiz application implementing remote access via RMI and SOAP Table of contents 1 About this document... 2 2 Introduction... 2 3 Defining the data model... 2 4 Populating the database tables with
Introduction to Web Services
Department of Computer Science Imperial College London CERN School of Computing (icsc), 2005 Geneva, Switzerland 1 Fundamental Concepts Architectures & escience example 2 Distributed Computing Technologies
Mail User Agent Project
Mail User Agent Project Tom Kelliher, CS 325 100 points, due May 4, 2011 Introduction (From Kurose & Ross, 4th ed.) In this project you will implement a mail user agent (MUA) that sends mail to other users.
000-371. Web Services Development for IBM WebSphere Application Server V7.0. Version: Demo. Page <<1/10>>
000-371 Web Services Development for IBM WebSphere Application Server V7.0 Version: Demo Page 1. Which of the following business scenarios is the LEAST appropriate for Web services? A. Expanding
Eclipse 4 RCP application Development COURSE OUTLINE
Description The Eclipse 4 RCP application development course will help you understand how to implement your own application based on the Eclipse 4 platform. The Eclipse 4 release significantly changes
Installing Java (Windows) and Writing your First Program
Appendix Installing Java (Windows) and Writing your First Program We will be running Java from the command line and writing Java code in Notepad++ (or similar). The first step is to ensure you have installed
CS 111 Classes I 1. Software Organization View to this point:
CS 111 Classes I 1 Software Organization View to this point: Data Objects and primitive types Primitive types operators (+, /,,*, %). int, float, double, char, boolean Memory location holds the data Objects
Object Relational Database Mapping. Alex Boughton Spring 2011
+ Object Relational Database Mapping Alex Boughton Spring 2011 + Presentation Overview Overview of database management systems What is ORDM Comparison of ORDM with other DBMSs Motivation for ORDM Quick
Reference Documentation
Reference Documentation 1.0.0 RC 1 Copyright (c) 2004 - Ben Alex Table of Contents Preface... iv 1. Security... 1 1.1. Before You Begin... 1 1.2. Introduction... 1 1.2.1. Current Status... 1 1.3. High
Remote Method Invocation in JAVA
Remote Method Invocation in JAVA Philippe Laroque [email protected] $Id: rmi.lyx,v 1.2 2003/10/23 07:10:46 root Exp $ Abstract This small document describes the mechanisms involved
New Generation of Software Development
New Generation of Software Development Terry Hon University of British Columbia 201-2366 Main Mall Vancouver B.C. V6T 1Z4 [email protected] ABSTRACT In this paper, I present a picture of what software development
IBM Rational Rapid Developer Components & Web Services
A Technical How-to Guide for Creating Components and Web Services in Rational Rapid Developer June, 2003 Rev. 1.00 IBM Rational Rapid Developer Glenn A. Webster Staff Technical Writer Executive Summary
Customer Bank Account Management System Technical Specification Document
Customer Bank Account Management System Technical Specification Document Technical Specification Document Page 1 of 15 Table of Contents Contents 1 Introduction 3 2 Design Overview 4 3 Topology Diagram.6
PROGRAMMERS GUIDE. Version 1.x
2013 PROGRAMMERS GUIDE Version 1.x 6 th September 2009 This document is intended for developers to understand how to use SdmxSource in a real life scenario. This document illustrates how to use SdmxSource
Core Java+ J2EE+Struts+Hibernate+Spring
Core Java+ J2EE+Struts+Hibernate+Spring Java technology is a portfolio of products that are based on the power of networks and the idea that the same software should run on many different kinds of systems
Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces
Software Engineering, Lecture 4 Decomposition into suitable parts Cross cutting concerns Design patterns I will also give an example scenario that you are supposed to analyse and make synthesis from The
Countering The Faults Of Web Scanners Through Byte-code Injection
Countering The Faults Of Web Scanners Through Byte-code Injection Introduction Penetration testing, web application scanning, black box security testing these terms all refer to a common technique of probing
September 18, 2014. Modular development in Magento 2. Igor Miniailo Magento
September 18, 2014 Modular development in Magento 2 Igor Miniailo Magento Agenda 1 Magento 2 goals 2 Magento 1 modules 3 Decoupling techniques 4 Magento 2 is it getting better? 5 Modularity examples Magento
Services. Custom Tag Libraries. Today. Web Development. Role-Based. Development. Code Reuse. Tag Libraries Custom Tags. Tag Lifecycle.
JSP, and JSP, and 1 JSP, and Custom Lecture #6 2008 2 JSP, and JSP, and interfaces viewed as user interfaces methodologies derived from software development done in roles and teams role assignments based
Smalltalk in Enterprise Applications. ESUG Conference 2010 Barcelona
Smalltalk in Enterprise Applications ESUG Conference 2010 Barcelona About NovaTec GmbH German software consulting company Offering full IT services for complex business applications Software engineering,
Module 13 Implementing Java EE Web Services with JAX-WS
Module 13 Implementing Java EE Web Services with JAX-WS Objectives Describe endpoints supported by Java EE 5 Describe the requirements of the JAX-WS servlet endpoints Describe the requirements of JAX-WS
An Eclipse Plug-In for Visualizing Java Code Dependencies on Relational Databases
An Eclipse Plug-In for Visualizing Java Code Dependencies on Relational Databases Paul L. Bergstein, Priyanka Gariba, Vaibhavi Pisolkar, and Sheetal Subbanwad Dept. of Computer and Information Science,
Copyright. Restricted Rights Legend. Trademarks or Service Marks. Copyright 2003 BEA Systems, Inc. All Rights Reserved.
Version 8.1 SP4 December 2004 Copyright Copyright 2003 BEA Systems, Inc. All Rights Reserved. Restricted Rights Legend This software and documentation is subject to and made available only pursuant to
IBM Operational Decision Manager Version 8 Release 5. Getting Started with Business Rules
IBM Operational Decision Manager Version 8 Release 5 Getting Started with Business Rules Note Before using this information and the product it supports, read the information in Notices on page 43. This
C++ INTERVIEW QUESTIONS
C++ INTERVIEW QUESTIONS http://www.tutorialspoint.com/cplusplus/cpp_interview_questions.htm Copyright tutorialspoint.com Dear readers, these C++ Interview Questions have been designed specially to get
Security in Domain-Driven Design. Author: Michiel Uithol
Security in Domain-Driven Design Author: Michiel Uithol Supervisors: dr.ir. M.J. van Sinderen dr.ir. L. Ferreira Pires T. Zeeman (Sogyo) E. Mulder (Sogyo) ii Security in Domain Driven Design Abstract Application
e ag u g an L g ter lvin v E ram Neal G g ro va P Ja
Evolving the Java Programming Language Neal Gafter Overview The Challenge of Evolving a Language Design Principles Design Goals JDK7 and JDK8 Challenge: Evolving a Language What is it like trying to extend
Masters programmes in Computer Science and Information Systems. Object-Oriented Design and Programming. Sample module entry test xxth December 2013
Masters programmes in Computer Science and Information Systems Object-Oriented Design and Programming Sample module entry test xxth December 2013 This sample paper has more questions than the real paper
CQCON 2013: five Sling features you should know
CQCON 2013: five Sling features you should know Olaf Otto 19.06.2013 1: Write custom tag libraries Use current XSD Fully qualified identifier
Java 7 Recipes. Freddy Guime. vk» (,\['«** g!p#« Carl Dea. Josh Juneau. John O'Conner
1 vk» Java 7 Recipes (,\['«** - < g!p#«josh Juneau Carl Dea Freddy Guime John O'Conner Contents J Contents at a Glance About the Authors About the Technical Reviewers Acknowledgments Introduction iv xvi
Web Application Development for the SOA Age Thinking in XML
Web Application Development for the SOA Age Thinking in XML Enterprise Web 2.0 >>> FAST White Paper August 2007 Abstract Whether you are building a complete SOA architecture or seeking to use SOA services
Dynamic Adaptability of Services in Enterprise JavaBeans Architecture
1. Introduction Dynamic Adaptability of Services in Enterprise JavaBeans Architecture Zahi Jarir *, Pierre-Charles David **, Thomas Ledoux ** [email protected], {pcdavid, ledoux}@emn.fr (*) Faculté
Building and Using Web Services With JDeveloper 11g
Building and Using Web Services With JDeveloper 11g Purpose In this tutorial, you create a series of simple web service scenarios in JDeveloper. This is intended as a light introduction to some of the
Chulalongkorn University International School of Engineering Department of Computer Engineering 2140105 Computer Programming Lab.
Chulalongkorn University Name International School of Engineering Student ID Department of Computer Engineering Station No. 2140105 Computer Programming Lab. Date Lab 2 Using Java API documents, command
Java Interview Questions and Answers
1. What is the most important feature of Java? Java is a platform independent language. 2. What do you mean by platform independence? Platform independence means that we can write and compile the java
Lecture J - Exceptions
Lecture J - Exceptions Slide 1 of 107. Exceptions in Java Java uses the notion of exception for 3 related (but different) purposes: Errors: an internal Java implementation error was discovered E.g: out
