ABSTRACT FACTORY AND SINGLETON DESIGN PATTERNS TO CREATE DECORATOR PATTERN OBJECTS IN WEB APPLICATION
|
|
|
- William Dawson
- 10 years ago
- Views:
Transcription
1 ABSTRACT FACTORY AND SINGLETON DESIGN PATTERNS TO CREATE DECORATOR PATTERN OBJECTS IN WEB APPLICATION Vijay K Kerji Department of Computer Science and Engineering, PDA College of Engineering,Gulbarga, India [email protected] ABSTRACT Software Design Patterns are reusable designs providing common solutions to the similar kind of problems in software development. Creational patterns are that category of design patterns which aid in how objects are created, composed and represented. They abstract the creation of objects from clients thus making the application more adaptable to future requirements changes. In this work, it has been proposed and implemented the creation of objects involved in Decorator Design Pattern. (Decorator Pattern Adds Additional responsibilities to the individual objects dynamically and transparently without affecting other objects). This enhanced the reusability of the application design, made application more adaptable to future requirement changes and eased the system maintenance. Proposed DMS (Development Management System) web application is implemented using.net framework, ASP.NET and C#. KEYWORDS Design Patterns, Abstract Factory, Singleton, Decorator, Reusability, Web Application 1. INTRODUCTION Design Patterns refer to reusable or repeatable solutions that aim to solve similar design problems during development process. Various design patterns are available to support development process. Each pattern provides the main solution for particular problem. From developer s perspectives, design patterns produce a more maintainable design. While from user s perspectives, the solutions provided by design patterns will enhance the usability of web applications [1] [2]. Normally, developers use their own design for a given software requirement, which may be new each time they design for a similar requirement. Such method is time consuming and makes software maintenance more difficult. Adapting the software application to future requirements changes will be difficult if adequate care is not taken during design [3]. Adopting Design Pattern while designing web applications can promote reusability and consistency of the web application. Without the adoption of the design patterns or wrong selection of them will make the development of web application more complex and hard to be maintained. Thus knowledge in design patterns is essential in selecting the most appropriate DOI : /ijait
2 patterns in the web application. Unfortunately, the ability of the developers in applying the design pattern is undetermined. The good practice of using design patterns is encouraged and efforts have to be taken to enhance the knowledge on design patterns [1]. Creational design patterns abstract the instantiation process. They help make a system independent of how its objects are created, composed, and represented. A class creational pattern uses inheritance to vary the class that s instantiated, where as an object creational pattern will delegate instantiation to other objects. Creational patterns become important as systems evolve to depend more on object composition than class inheritance. As that happens, emphasis shifts away from hard coding a fixed set of behaviors toward defining a smaller set of fundamental behaviors that can be composed into any number of more complex ones. Thus creating objects with particular behaviors requires more than simply instantiating class [4]. In case of web applications, it is sometimes necessary to add additional responsibilities to the web page dynamically and to cater to the changing requirements. Such additions should be transparent without affecting other objects. There can be possibility where in these responsibilities can be withdrawn. In such scenario, Decorator Pattern can be used to add the additional responsibilities to the default web page (whose some of the contents are always constant). For Example if the application has different users who can log into it (such as Admin, Program Manager and Stakeholder).Admin will have different user interface when compared to other users but some of the user interface elements may be similar across all users. In such scenario, we can use Decorator Pattern to decorate the changing user interface elements depending on the user type, keeping the remaining elements constant across all type of users [3]. In such applications, Decorator Pattern objects can be created using Abstract Factory creational pattern. In this work, concrete decorator objects are created with such Abstract Factory pattern without specifying their concrete classes. This encapsulates the object instantiation process from the client thus making the system more flexible to future changes in the requirements. Additional new users can be added to the system without applying changes to the client side code. Client side code is hidden from the type of current user instantiated by the Abstract Factory pattern thus making the system more reusable and easier to maintain. Since the application typically needs only one instance of a concrete factory in abstract factory pattern, we used Singleton design pattern to implement the concrete factory object. We applied the required changes to the DMS application [3] to achieve the above mentioned objectives. The resulting application showed considerable improvement in performance when multiple users are added. It abstracts the client code from changes in concrete decorator object instantiation. The rest of the paper is organized as follows. Section 2 mentions about the previous study conducted on this subject. Section 3 explains the motivation of this proposed work Section 4 describes Abstract Factory and Singleton Patterns and their applicability. Section 5 briefs about DMS web based application. Implementation and sample code is listed in section 6. Finally conclusion is presented in section PREVIOUS STUDY In [1], a set of design patterns commonly used in web based applications has been proposed as a case study. These are the patterns which frequently occur in a web based applications which are discussed in this work. In [3], Application of Decorator Design Pattern to the web based application has been proposed and implemented. Decorator added additional responsibilities to the default user page thus 2
3 making the application more adaptable to the future requirements changes. New user types in the application can be added without changing the client code by using the Decorator Design Pattern. In[6], It is briefly introduced the concept of software design patterns and given a research on some design patterns including Observer Pattern, Decorator Pattern, Factory Method Pattern and Abstract Factory Pattern. In [7], Research and application of Design Patterns on Shopping Mall component design has been proposed. Strategy, bridge and abstract factory patterns are being used in this work. 3. MOTIVATION In [4], Client code is exposed to the creation of decorator pattern objects and their composition and representation. Whenever new user is added, client code is changed since it is exposed to the decorator objects creation. Inclusion of Abstract Factory design pattern will ensure the following advantages: 1. Abstraction of Decorator Object creation from Client code thus making the application more adaptable to future changes such as addition of new user type. 2. Easy to understand and maintain the application 3. Design can be reused because of the use of use of additional design patterns. 4. Provides single instance of the abstract factory object by using Singleton creational pattern. Abstract Factory and Singleton Patterns together incorporate the aforementioned objectives in the proposed implementation. 4. DECORATOR PATTERN STRUCTURE Decorator pattern adds responsibilities to individual objects dynamically and transparently, that is, without affecting other objects. Such additional responsibilities can be withdrawn. Also when extension by sub classing is impractical. Figure 1. Structure of the Decorator Pattern Component defines the interface for the objects that can have responsibilities added to them dynamically. Concrete Component defines an object to which additional responsibilities can be attached. Decorator maintains a reference to a component object and defines an interface that conforms to the component interface. Concrete Decorator adds responsibilities to the component. 3
4 5. ABSTRACT FACTORY AND SONGLETON PATTERN STRUCTURE Abstract factory provide an interface for creating families of related or dependent objects without specifying their concrete classes. It helps to control the classes of objects that an application creates. Because a factory encapsulates the responsibility and the process of creating product objects, it isolates clients from implementation classes. Clients manipulate instances though their abstract interfaces. Product class names are isolated in the implementation of the concrete factory; they do not appear in client code [4]. Figure 1. Structure of Abstract Factory Pattern. Abstract Factory declares an interface for operations that create abstract product objects. Concrete Factory implements the operations to create concrete product objects. Abstract Product declares an interface for a type of product object. Concrete Product defines a product object to be created by the corresponding concrete factory. It implements the Abstract Product interface. Client uses only interfaces declared by Abstract factory and Abstract Product classes. The factory completely abstracts the creation and initialization of the product from the client. This indirection enables the client to focus on its discrete role in the application without concerning itself with the details of how the product is created. Thus, as the product implementation changes over time, the client remains unchanged. The most important aspect of this pattern is the fact that the client is abstracted from both the type of product and the type of factory used to create the product. Furthermore, the entire factory along with the associated products it creates can be replaced in a wholesale fashion. Modifications can occur without any changes to the client[5]. In our work, Abstract Product is that of Decorator object of the DMS application. Concrete products are different types of users (Admin, Program Manager and Stake Holder). Essentially, 4
5 Decorator Pattern objects are made as that of Abstract Product and its Concrete Product objects. Individual Concrete Factory objects are created for each of the user types (Concrete Factory1 for user type Admin, Concrete Factory2 for user type Program Manager and Concrete Factory3 for user type Stake Holder). In this design, Client is unaware of which concrete product and concrete factory classes are created since it access the required objects embedded in abstract class pointer. Hence the client code is detached from underlying concrete object creation and making the system more adaptable to future requirement changes and easier to maintain it. Singleton Pattern ensures a class has only one instance and provides global point of access to it. Since there is only one instance of the Concrete Factory class, it is implemented using Singleton Pattern so that client can have access to it from well known access point. 6. DMS APPLICATION Development Management System is a web based application which allows different types of user (Admin, Stake Holder and Program Manager) to login and operate the DMS application. User page has certain functionality similar across all type of users. Changed functionality is implemented using corresponding Decorator objects, using XML input data queried through XPath [3]. With reference to Decorator Pattern, DefaultUserView class is of the type ConcreteComponent which is sub classed from Component base class. Decorator class is sub classed from Component class which is a base class for Concrete Decorators. Concrete decorators can be Admin, Stakeholder or Program Manager decorator classes. Dynamic user page is decorated with any of the concrete decorators depending upon the type of user logged into the system. Also, the contents of the decorator are read from XML using X-path query [3]. In our work, changes are incorporated in Decorator Pattern object instantiation process. It is achieved through Abstract Factory pattern which abstract clients from how the objects are represented, composed and instantiated. Admin, Stake Holder and Program Manager Objects of Decorator design pattern are now become part of the Abstract Factory pattern. Since there can be only one instance of the Concrete Factory object for a particular logged in user, Singleton design pattern is used so that client can access this one and only instance for further usage. 6. IMPLEMENTATION AND SAMPLE CODE In this work, we applied changes to a web based application called Development Management System. This application allows different types of user (Admin, Stake Holder and Program Manager) to login and operate the DMS application. User page has certain functionality similar across all type of users. Changed functionality is implemented using corresponding Decorator objects, using XML input data queried through XPath [3]. AbstractFactory class(listing1) is a Singleton Design Pattern class which creates the required Concrete Factory object depending the type of user logged into the system. Instance is a static function which returns the single instance of the concrete factory object. getinstance is a helper function which returns the appropriate concrete factory object depending the user type. User type can be read from either configuration file or registry. Abstract factory also has an important abstract function, CreateUser which will be implemented by the concrete factory objects to create the respective user type object. 5
6 abstract class AbstractFactory //one and only singleton instance private static AbstractFactory instance = null; //function to access the single instance object public static AbstractFactory Instance() if(instance == null) instance = getinstance(); return instance; //helper function to create proper factory object Private static AbstractFactory getinstance() string usertype; //get the user type from //.ini file or registry //Create factory object depending on user //type Switch(userType) Case Admin : return new ConcreteFactory1(); Case StakeHolder : return new ConcreteFactory2(); Case ProgramManager : return new ConcreteFactory3(); //abstract class & function to create decorator //object Public abstract Decorator CreateUser(); Listing1: Abstract Factory Singleton class ConcreteFactory1 class (Listing 2 ) is a sub class of AbstractFactory class which is responsible for creating AdminDecorator object corresponding to Admin user type. AdminDecorator takes DefaultUserView as an input argument to its constructor and AdminDecorator object is returned to the client which has called CreateUser function. class ConcreteFactory1 : AbstractFactory Public override Decorator CreateUser() //Default user view as an input to decorator DefaultUserView duv = new DefaultUserView(); //create&return Admin Decorator object return new AdminDecorator(duv); Listing2: ConcreteFactory1 class for Admin Decorator ConcreteFactory2 class (Listing 3) is responsible for creating stake holder decorator object. ConcreteFactory is a subclass of AbstractFactory class and implements CreateUser function 6
7 declared in AbstractFactory base class. Again the StakeHolderDecorator object is passed to the client as Decorator object pointer, without revealing the underlying object in it. class ConcreteFactory2 : AbstractFactory Public override Decorator CreateUser() DefaultUserView duv = new DefaultUserView(); //create&return Stake Holder Decorator object return new StakeHolderDecorator(duv); Listing3: ConcreteFactory2 class for Stake Holder Decorator ConcreteFactory3 class (Listing 4) is responsible for creating ProgramManager Decorator object. ConcreteFactory is a subclass of AbstractFactory class and implements CreateUser function declared in AbstractFactory base class. Again the ProgramManagerDecorator object is passed to the client as Decorator object pointer, without revealing the underlying object in it. class ConcreteFactory3 : AbstractFactory Public override Decorator CreateUser() DefaultUserView duv = new DefaultUserView(); //create&return Program Mgr Decorator object return new ProgramManagerDecorator(duv); Listing4: ConcreteFactory3 class for Program Manager Decorator AdminDecorator is a ConcreteDecorator (Listing 5) which adds the responsibility of rendering the Admin related XHTML to the web browser. AdminDecorator will copy the visual component object to its base class visual component member variable. It implements the Render function which in turn reads the XML file to read its required contents and develops the XHTML as per the XML data [3]. public class AdminDecorator : Decorator //constructor for Admin Decorator Public AdminDecorator(VisualComponent vc) base.vc = vc; Listing5: Admin Decorator class derived from Decorator 7
8 AbstractFactory af = AbstractFactory.Instance(); Decorator dc = af.createuser(); //Client unaware of the type of user string totalxhtml = dc.render(); //write the XHTML as string to the browser Response.Write(totalXHTML); Listing 6: Client code to render the XHTML Client Code (Listing 6) shows how the final XHTML contents are retrieved from Decorator object. Client code has been simplified and is now unaware of the user type logged into the system. It gets single instance of concrete AbstractFactory object and in turn created the proper Decorator Object which will render the XHTML code to the browser. Above code snippet reveals us that the client code is hidden from the instantiation process of concrete decorator objects. AbstractFactory object creation is implemented with the Singleton design pattern to ensure that only one instance of the concrete factory object is created in the application to provide the global point of access. Hence the above method of implementation makes the maintenance of software easier and any changes in the user requirements can be handled without changing the client part of the code. It also improved the performance of the application when more number of users is added to the system. 7. CONCLUSION Software Design Patterns are proven design methods which when used carefully in the implementation of software development will lead to several advantages. Reusability, Encapsulation and Ease of system maintenance are some of the benefits one can incorporate into software systems if these proven design patterns are used in the system. Creational patterns belong to that category of design pattern which will help in abstraction of object instantiation process. They help make a system independent of how objects are created, composed, and represented. Abstract Factory and Singleton patterns belong to creational pattern category, which are used in this work to encapsulate the Decorator Pattern object instantiation process. Concrete Decorator objects are created by respective Concrete Factory objects depending on the type of user logged into the system. This resulted in improved application performance when additional user types are added to the system and easier to maintain the application code for future requirement changes. REFERENCES [1] Phek Lan Thung, Chu Jian Ng, Swee Jing Thung, Shahida Sulaiman, Improving a Web Application Using Design Patterns: A Case Study [2] V.Pawan, Web Application Design Patterns, CA Morgan Kauffman, [3] Vijay K Kerji, Decorator Pattern with XML in web based application, ICNCS 2011 Kanyakumari, India. [4] Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, Design Patterns Elements of Reusable Object Oriented Software,Addison Wessley [5] Danijel Matic, Dino Butorac, Hrvoje Kegalj, Data Access Architecture in object oriented application using Design Patterns 8
9 [6] Mu Huaxin, Jiang Shuai, Design Patterns in Software Development, IEEE 2011 [7] Jing Gang Chu, Jia Chen, Research and Application of Design Patterns on Shopping Mall Design Component Authors Mr. Vijay K Kerji completed his B.E in 1993 in E&CE and M.Tech in CSE in He worked for W.S Telesystems Ltd for two years, CMC Limited Hyderabad for four years, and Siemens Corporate Research New Jersey for five years and Intel India for two years as software engineer/senior software engineer. He has three international publications including IEEE and Springer in the area of software design patterns and computer networks. Currently he is serving educational institutions as a mentor in the area of c omputer science engineering and electronics and communication engineering. His area of interest include software design patterns, object oriented analysis and design, web development, operations research, computer networks and electronic circuits. 9
Patterns in. Lecture 2 GoF Design Patterns Creational. Sharif University of Technology. Department of Computer Engineering
Patterns in Software Engineering Lecturer: Raman Ramsin Lecture 2 GoF Design Patterns Creational 1 GoF Design Patterns Principles Emphasis on flexibility and reuse through decoupling of classes. The underlying
Design Patterns. Design patterns are known solutions for common problems. Design patterns give us a system of names and ideas for common problems.
Design Patterns Design patterns are known solutions for common problems. Design patterns give us a system of names and ideas for common problems. What are the major description parts? Design Patterns Descriptions
Many applications consist of one or more classes, each containing one or more methods. If you become part of a development team in industry, you may
Chapter 1 Many applications consist of one or more classes, each containing one or more methods. If you become part of a development team in industry, you may work on applications that contain hundreds,
Structural Design Patterns Used in Data Structures Implementation
Structural Design Patterns Used in Data Structures Implementation Niculescu Virginia Department of Computer Science Babeş-Bolyai University, Cluj-Napoca email address: [email protected] November,
Singletons. The Singleton Design Pattern using Rhapsody in,c
Singletons Techletter Nr 3 Content What are Design Patterns? What is a Singleton? Singletons in Rhapsody in,c Singleton Classes Singleton Objects Class Functions Class Variables Extra Functions More Information
How To Design Your Code In Php 5.5.2.2 (Php)
By Janne Ohtonen, August 2006 Contents PHP5 Design Patterns in a Nutshell... 1 Introduction... 3 Acknowledgments... 3 The Active Record Pattern... 4 The Adapter Pattern... 4 The Data Mapper Pattern...
Génie Logiciel et Gestion de Projets. Patterns
Génie Logiciel et Gestion de Projets Patterns 1 Alexander s patterns Christoffer Alexander The Timeless Way of Building, Christoffer Alexander, Oxford University Press, 1979, ISBN 0195024028 Each pattern
A Brief Analysis of Web Design Patterns
A Brief Analysis of Web Design Patterns Ginny Sharma M.Tech Student, Dept. of CSE, MRIU Faridabad, Haryana, India Abstract Design patterns document good design solutions to a recurring problem in a particular
Mitra Innovation Leverages WSO2's Open Source Middleware to Build BIM Exchange Platform
Mitra Innovation Leverages WSO2's Open Source Middleware to Build BIM Exchange Platform May 2015 Contents 1. Introduction... 3 2. What is BIM... 3 2.1. History of BIM... 3 2.2. Why Implement BIM... 4 2.3.
REST Client Pattern. [Draft] Bhim P. Upadhyaya ABSTRACT
REST Client Pattern [Draft] Bhim P. Upadhyaya EqualInformation Chicago, USA [email protected] ABSTRACT Service oriented architecture (SOA) is a common architectural practice in large enterprises. There
GenericServ, a Generic Server for Web Application Development
EurAsia-ICT 2002, Shiraz-Iran, 29-31 Oct. GenericServ, a Generic Server for Web Application Development Samar TAWBI PHD student [email protected] Bilal CHEBARO Assistant professor [email protected] Abstract
Composing Concerns with a Framework Approach
Composing Concerns with a Framework Approach Constantinos A. Constantinides 1,2 and Tzilla Elrad 2 1 Mathematical and Computer Sciences Department Loyola University Chicago [email protected] 2 Concurrent
Code Qualities and Coding Practices
Code Qualities and Coding Practices Practices to Achieve Quality Scott L. Bain and the Net Objectives Agile Practice 13 December 2007 Contents Overview... 3 The Code Quality Practices... 5 Write Tests
BDD FOR AUTOMATING WEB APPLICATION TESTING. Stephen de Vries
BDD FOR AUTOMATING WEB APPLICATION TESTING Stephen de Vries www.continuumsecurity.net INTRODUCTION Security Testing of web applications, both in the form of automated scanning and manual security assessment
Secure Authentication and Session. State Management for Web Services
Lehman 0 Secure Authentication and Session State Management for Web Services Clay Lehman CSC 499: Honors Thesis Supervised by: Dr. R. Michael Young Lehman 1 1. Introduction Web services are a relatively
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é
Roles in Building Web Applications using Java
Roles in Building Web Applications using Java Guido Boella Dipartimento di Informatica Università di Torino Italy +390116706711 [email protected] Andrea Cerisara Dipartimento di Informatica Università
The Role of the Software Architect
IBM Software Group The Role of the Software Architect Peter Eeles [email protected] 2004 IBM Corporation Agenda Architecture Architect Architecting Requirements Analysis and design Implementation
Excerpts from Chapter 4, Architectural Modeling -- UML for Mere Mortals by Eric J. Naiburg and Robert A. Maksimchuk
Excerpts from Chapter 4, Architectural Modeling -- UML for Mere Mortals by Eric J. Naiburg and Robert A. Maksimchuk Physical Architecture As stated earlier, architecture can be defined at both a logical
Design with Reuse. Building software from reusable components. Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14 Slide 1
Design with Reuse Building software from reusable components. Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14 Slide 1 Objectives To explain the benefits of software reuse and some reuse
A Pattern for Designing Abstract Machines
The Machine A Pattern for Designing Machines Julio García-Martín Miguel Sutil-Martín Universidad Politécnica de Madrid 1. Because of the increasing gap between modern high-level programming languages and
Course Name: ADVANCE COURSE IN SOFTWARE DEVELOPMENT (Specialization:.Net Technologies)
Course Name: ADVANCE COURSE IN SOFTWARE DEVELOPMENT (Specialization:.Net Technologies) Duration of Course: 6 Months Fees: Rs. 25,000/- (including Service Tax) Eligibility: B.E./B.Tech., M.Sc.(IT/ computer
Safewhere*Identify 3.4. Release Notes
Safewhere*Identify 3.4 Release Notes Safewhere*identify is a new kind of user identification and administration service providing for externalized and seamless authentication and authorization across organizations.
Object Oriented Databases. OOAD Fall 2012 Arjun Gopalakrishna Bhavya Udayashankar
Object Oriented Databases OOAD Fall 2012 Arjun Gopalakrishna Bhavya Udayashankar Executive Summary The presentation on Object Oriented Databases gives a basic introduction to the concepts governing OODBs
Chapter 8 Software Testing
Chapter 8 Software Testing Summary 1 Topics covered Development testing Test-driven development Release testing User testing 2 Program testing Testing is intended to show that a program does what it is
Automation of Library (Codes) Development for Content Management System (CMS)
Automation of Library (Codes) Development for Content Management System (CMS) Mustapha Mutairu Omotosho Department of Computer Science, University Of Ilorin, Ilorin Nigeria Balogun Abdullateef Oluwagbemiga
The WebShop E-Commerce Framework
The WebShop E-Commerce Framework Marcus Fontoura IBM Almaden Research Center 650 Harry Road, San Jose, CA 95120, U.S.A. e-mail: fontouraalmaden.ibm.com Wolfgang Pree Professor of Computer Science Software
STRATEGY PATTERN: PAYMENT PATTERN FOR INTERNET BANKING
I J I T E ISSN: 2229-7367 3(1-2), 2012, pp. 281-286 STRATEGY PATTERN: PAYMENT PATTERN FOR INTERNET BANKING 1 A. MEIAPPANE, 2 J. PRABAVADHI AND 3 V. PRASANNA VENKATESAN 1 Research Scholar, 3 Associate Professor,
Automating Rich Internet Application Development for Enterprise Web 2.0 and SOA
Automating Rich Internet Application Development for Enterprise Web 2.0 and SOA Enterprise Web 2.0 >>> FAST White Paper November 2006 Abstract Modern Rich Internet Applications for SOA have to cope with
A First Set of Design Patterns for Algorithm Animation
Fifth Program Visualization Workshop 119 A First Set of Design Patterns for Algorithm Animation Guido Rößling CS Department, TU Darmstadt Hochschulstr. 10 64289 Darmstadt, Germany [email protected] Abstract
The Phases of an Object-Oriented Application
The Phases of an Object-Oriented Application Reprinted from the Feb 1992 issue of The Smalltalk Report Vol. 1, No. 5 By: Rebecca J. Wirfs-Brock There is never enough time to get it absolutely, perfectly
Lightweight Data Integration using the WebComposition Data Grid Service
Lightweight Data Integration using the WebComposition Data Grid Service Ralph Sommermeier 1, Andreas Heil 2, Martin Gaedke 1 1 Chemnitz University of Technology, Faculty of Computer Science, Distributed
SharePoint Integration Framework Developers Cookbook
Sitecore CMS 6.3 to 6.6 and SIP 3.2 SharePoint Integration Framework Developers Cookbook Rev: 2013-11-28 Sitecore CMS 6.3 to 6.6 and SIP 3.2 SharePoint Integration Framework Developers Cookbook A Guide
Design of an XML-based Document Flow Management System for Construction Projects Using Web Services
Design of an XML-based Document Flow Management System for Construction Projects Using Web Services Choung-Houng Wu and Shang-Hsien Hsieh National Taiwan University, Department of Civil Engineering, No.1,
Chapter 3 Chapter 3 Service-Oriented Computing and SOA Lecture Note
Chapter 3 Chapter 3 Service-Oriented Computing and SOA Lecture Note Text book of CPET 545 Service-Oriented Architecture and Enterprise Application: SOA Principles of Service Design, by Thomas Erl, ISBN
Design Pattern Management System: A Support Tool Based on Design Patterns Applicability
Design Pattern Management System: A Support Tool Based on Design Patterns Applicability Zakaria Moudam, Radouan Belhissi, Noureddine Chenfour Computer Science Department Faculty of Sciences Dhar Mehraz
Glossary of Object Oriented Terms
Appendix E Glossary of Object Oriented Terms abstract class: A class primarily intended to define an instance, but can not be instantiated without additional methods. abstract data type: An abstraction
Run-time Variability Issues in Software Product Lines
Run-time Variability Issues in Software Product Lines Alexandre Bragança 1 and Ricardo J. Machado 2 1 Dep. I&D, I2S Informática Sistemas e Serviços SA, Porto, Portugal, [email protected] 2 Dep.
IGI Portal architecture and interaction with a CA- online
IGI Portal architecture and interaction with a CA- online Abstract In the framework of the Italian Grid Infrastructure, we are designing a web portal for the grid and cloud services provisioning. In following
Web Presentation Layer Architecture
Chapter 4 Web Presentation Layer Architecture In this chapter we provide a discussion of important current approaches to web interface programming based on the Model 2 architecture [59]. From the results
MiniDraw Introducing a framework... and a few patterns
MiniDraw Introducing a framework... and a few patterns What is it? [Demo] 2 1 What do I get? MiniDraw helps you building apps that have 2D image based graphics GIF files Optimized repainting Direct manipulation
JOURNAL OF OBJECT TECHNOLOGY
JOURNAL OF OBJECT TECHNOLOGY Online at http://www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2009 Vol. 8, No. 5, July-August 2009 The Application of Design Patterns to Develop
Data Mining Governance for Service Oriented Architecture
Data Mining Governance for Service Oriented Architecture Ali Beklen Software Group IBM Turkey Istanbul, TURKEY [email protected] Turgay Tugay Bilgin Dept. of Computer Engineering Maltepe University Istanbul,
Service Oriented Architecture: A driving force for paperless healthcare system
2012 International Conference on Computer Technology and Science (ICCTS 2012) IPCSIT vol. 47 (2012) (2012) IACSIT Press, Singapore DOI: 10.7763/IPCSIT.2012.V47.16 Service Oriented Architecture: A driving
OpenLDAP Oracle Enterprise Gateway Integration Guide
An Oracle White Paper June 2011 OpenLDAP Oracle Enterprise Gateway Integration Guide 1 / 29 Disclaimer The following is intended to outline our general product direction. It is intended for information
Magento Certified Developer Exam Exam: M70-101
M70-101 Magento Certified Developer Exam Exam: M70-101 Edition: 2.0.1 QUESTION: 1 For an attribute to be loaded on a catalog/product object, which two of the following conditions must be satisfied? (Choose
SCAAS: A Secure Authentication and Access Control System for Web Application Development
Communications of the IIMA Volume 7 Issue 1 Article 6 2007 SCAAS: A Secure Authentication and Access Control System for Web Application Development Drew Hwang California State Polytechnical University
An Oracle White Paper May 2012. Oracle Database Cloud Service
An Oracle White Paper May 2012 Oracle Database Cloud Service Executive Overview The Oracle Database Cloud Service provides a unique combination of the simplicity and ease of use promised by Cloud computing
The Class Blueprint A Visualization of the Internal Structure of Classes
The Class Blueprint A Visualization of the Internal Structure of Classes Michele Lanza Software Composition Group University Of Bern Bern, Switzerland [email protected] Stéphane Ducasse Software Composition
How To Develop A Web Dialog For An Org Database With A Database On A Computer (Oracle)
Designing a Framework to Develop WEB Graphical Interfaces for ORACLE Databases - Web Dialog Georgiana-Petruţa Fîntîneanu Florentina Anica Pintea, Faculty of Computers and Applied Computer Science, Tibiscus
Performance Testing for Ajax Applications
Radview Software How to Performance Testing for Ajax Applications Rich internet applications are growing rapidly and AJAX technologies serve as the building blocks for such applications. These new technologies
Decorator Pattern [GoF]
Decorator Pattern [GoF] Intent Attach additional capabilities to objects dynamically. Decorators provide a flexible alternative to subclassing for extending functionality. Also Known As Wrapper. Motivation
Towards Web Design Frameworks (Wdfs)
14 Towards Web Design Frameworks (Wdfs) Rehema Baguma, Faculty of Computing and IT, Makerere University. [email protected]; Ogao Patrick, Department of Information Systems, Faculty of Computing and
What is a life cycle model?
What is a life cycle model? Framework under which a software product is going to be developed. Defines the phases that the product under development will go through. Identifies activities involved in each
Java CPD (I) Frans Coenen Department of Computer Science
Java CPD (I) Frans Coenen Department of Computer Science Content Session 1, 12:45-14:30 (First Java Programme, Inheritance, Arithmetic) Session 2, 14:45-16:45 (Input and Programme Constructs) Materials
PHP FRAMEWORK FOR DATABASE MANAGEMENT BASED ON MVC PATTERN
PHP FRAMEWORK FOR DATABASE MANAGEMENT BASED ON MVC PATTERN Chanchai Supaartagorn Department of Mathematics Statistics and Computer, Faculty of Science, Ubon Ratchathani University, Thailand [email protected]
Executive summary. Table of Contents. Technical Paper Minimize program coding and reduce development time with Infor Mongoose
Technical Paper Minimize program coding and reduce development time with Infor Mongoose Executive summary Infor Mongoose is an application development framework that lets you easily design and deploy software
Software Engineering. Software Engineering. Component-Based. Based on Software Engineering, 7 th Edition by Ian Sommerville
Software Engineering Component-Based Software Engineering Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To explain that CBSE is concerned with developing standardised components
SOA Success is Not a Matter of Luck
by Prasad Jayakumar, Technology Lead at Enterprise Solutions, Infosys Technologies Ltd SERVICE TECHNOLOGY MAGAZINE Issue L May 2011 Introduction There is nothing either good or bad, but thinking makes
Java Technology in the Design and Implementation of Web Applications
Java Technology in the Design and Implementation of Web Applications Kavindra Kumar Singh School of Computer and Systems Sciences Jaipur National University Jaipur Abstract: This paper reviews the development
ActiveVOS Server Architecture. March 2009
ActiveVOS Server Architecture March 2009 Topics ActiveVOS Server Architecture Core Engine, Managers, Expression Languages BPEL4People People Activity WS HT Human Tasks Other Services JMS, REST, POJO,...
CMSC 132: Object-Oriented Programming II. Design Patterns I. Department of Computer Science University of Maryland, College Park
CMSC 132: Object-Oriented Programming II Design Patterns I Department of Computer Science University of Maryland, College Park Design Patterns Descriptions of reusable solutions to common software design
Variable Base Interface
Chapter 6 Variable Base Interface 6.1 Introduction Finite element codes has been changed a lot during the evolution of the Finite Element Method, In its early times, finite element applications were developed
INTERNET PROGRAMMING AND DEVELOPMENT AEC LEA.BN Course Descriptions & Outcome Competency
INTERNET PROGRAMMING AND DEVELOPMENT AEC LEA.BN Course Descriptions & Outcome Competency 1. 420-PA3-AB Introduction to Computers, the Internet, and the Web This course is an introduction to the computer,
Matrox Imaging White Paper
Vision library or vision specific IDE: Which is right for you? Abstract Commercial machine vision software is currently classified along two lines: the conventional vision library and the vision specific
A Service Modeling Approach with Business-Level Reusability and Extensibility
A Service Modeling Approach with Business-Level Reusability and Extensibility Jianwu Wang 1,2, Jian Yu 1, Yanbo Han 1 1 Institute of Computing Technology, Chinese Academy of Sciences, 100080, Beijing,
SOA REFERENCE ARCHITECTURE: WEB TIER
SOA REFERENCE ARCHITECTURE: WEB TIER SOA Blueprint A structured blog by Yogish Pai Web Application Tier The primary requirement for this tier is that all the business systems and solutions be accessible
Japan Communication India Skill Development Center
Japan Communication India Skill Development Center Java Application System Developer Course Detail Track 2a Java Application Software Developer: Phase1 SQL Overview 70 Introduction Database, DB Server
Redpaper Axel Buecker Kenny Chow Jenny Wong
Redpaper Axel Buecker Kenny Chow Jenny Wong A Guide to Authentication Services in IBM Security Access Manager for Enterprise Single Sign-On Introduction IBM Security Access Manager for Enterprise Single
Host: http://studynest.org/ INTRODUCTION TO SAP CRM WEB UI
SAP CRM WEBCLIENT UI 7.0 EHP1 Online course Content Contact: +61 413159465 (Melbourne, Australia) Host: INTRODUCTION TO SAP CRM WEB UI Demo1: Why SAP CRM? Why an organization Need SAP CRM Web Client User
Migrating Legacy Software Systems to CORBA based Distributed Environments through an Automatic Wrapper Generation Technique
Migrating Legacy Software Systems to CORBA based Distributed Environments through an Automatic Wrapper Generation Technique Hyeon Soo Kim School of Comp. Eng. and Software Eng., Kum Oh National University
Name of pattern types 1 Process control patterns 2 Logic architectural patterns 3 Organizational patterns 4 Analytic patterns 5 Design patterns 6
The Researches on Unified Pattern of Information System Deng Zhonghua,Guo Liang,Xia Yanping School of Information Management, Wuhan University Wuhan, Hubei, China 430072 Abstract: This paper discusses
Financial Management System
DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING UNIVERSITY OF NEBRASKA LINCOLN Financial Management System CSCE 156 Computer Science II Project Student 002 11/15/2013 Version 3.0 The contents of this document
Designing and Writing a Program DESIGNING, CODING, AND DOCUMENTING. The Design-Code-Debug Cycle. Divide and Conquer! Documentation is Code
Designing and Writing a Program DESIGNING, CODING, AND DOCUMENTING Lecture 16 CS2110 Spring 2013 2 Don't sit down at the terminal immediately and start hacking Design stage THINK first about the data you
Document Management. Introduction. CAE DS Product data management, document data management systems and concurrent engineering
Document Management Introduction Document Management aims to manage organizational information expressed in form of electronic documents. Documents in this context can be of any format text, pictures or
Teaching Object-Oriented Software Design within the Context of Software Frameworks
Teaching Object-Oriented Software Design within the Context of Software Frameworks Zoya Ali, Joseph Bolinger, Michael Herold, Thomas Lynch, Jay Ramanathan, Rajiv Ramnath The Ohio State University, [email protected],
Gadget: A Tool for Extracting the Dynamic Structure of Java Programs
Gadget: A Tool for Extracting the Dynamic Structure of Java Programs Juan Gargiulo and Spiros Mancoridis Department of Mathematics & Computer Science Drexel University Philadelphia, PA, USA e-mail: gjgargiu,smancori
How to Build Successful DSL s. Jos Warmer Leendert Versluijs
How to Build Successful DSL s Jos Warmer Leendert Versluijs Jos Warmer Expert in Model Driven Development One of the authors of the UML standard Author of books Praktisch UML MDA Explained Object Constraint
Using SOA to Enhance Email Notifications. Rajas Kirtane 8/11/2014
Using SOA to Enhance Email Notifications Rajas Kirtane 8/11/2014 Agenda Introduction Business Challenge Solution Overview Key Learning's Q & A In collaboration with The information contained in this document
The Design and Implementation of a C++ Toolkit for Integrated Medical Image Processing and Analyzing
The Design and Implementation of a C++ Toolkit for Integrated Medical Image Processing and Analyzing Mingchang Zhao, Jie Tian 1, Xun Zhu, Jian Xue, Zhanglin Cheng, Hua Zhao Medical Image Processing Group,
Rapid Application Development of a Decision Support System using Object Oriented Programming
Rapid Application Development of a Decision Support System using Object Oriented Programming Amy Roehrig, Trilogy Consulting Corporation, Pleasant Grove, UT Abstract Constantly changing business needs
So we thought we knew money
So we thought we knew money Ying Hu Sam Peng Here at Custom House Global Foreign Exchange, we have built and are continuing to evolve a system that processes online foreign exchange transactions. Currency,
ITDUMPS QUESTION & ANSWER. Accurate study guides, High passing rate! IT dumps provides update free of charge in one year!
ITDUMPS QUESTION & ANSWER Accurate study guides, High passing rate! IT dumps provides update free of charge in one year! HTTP://WWW.ITDUMPS.COM Exam : 70-549(C++) Title : PRO:Design & Develop Enterprise
Intranet Website Solution Based on Microsoft SharePoint Server Foundation 2010
December 14, 2012 Authors: Wilmer Entena 128809 Supervisor: Henrik Kronborg Pedersen VIA University College, Horsens Denmark ICT Engineering Department Table of Contents List of Figures and Tables... 3
Use Cases for Argonaut Project. Version 1.1
Page 1 Use Cases for Argonaut Project Version 1.1 July 31, 2015 Page 2 Revision History Date Version Number Summary of Changes 7/31/15 V 1.1 Modifications to use case 5, responsive to needs for clarification
Certified PHP/MySQL Web Developer Course
Course Duration : 3 Months (120 Hours) Day 1 Introduction to PHP 1.PHP web architecture 2.PHP wamp server installation 3.First PHP program 4.HTML with php 5.Comments and PHP manual usage Day 2 Variables,
A Monitored Student Testing Application Using Cloud Computing
A Monitored Student Testing Application Using Cloud Computing R. Mullapudi and G. Hsieh Department of Computer Science, Norfolk State University, Norfolk, Virginia, USA [email protected], [email protected]
Programming in C# with Microsoft Visual Studio 2010
Introducción a la Programación Web con C# en Visual Studio 2010 Curso: Introduction to Web development Programming in C# with Microsoft Visual Studio 2010 Introduction to Web Development with Microsoft
