Evaluation of Business Rules Maintenance in Enterprise Information Systems
|
|
- Dwain Fleming
- 5 years ago
- Views:
Transcription
1 POSTER 2015, PRAGUE MAY 14 1 Evaluation of Business Rules Maintenance in Enterprise Information Systems Karel CEMUS Dept. of Computer Science, Czech Technical University, Technická 2, Praha, Czech Republic cemuskar@fel.cvut.cz Abstract. Enterprise information systems maintain a significant number of business rules defining complex business processes and constraining data. Contemporary technologies often fail to easily maintain these rules over multiple layers to avoid restatement and duplication. This lack of a single location for business rules makes development and maintenance expensive and error-prone because it is difficult to 1) locate rules and 2) find all instances of a rule in the case of restatement. In this paper, we evaluate four approaches to design and implementation of such systems and compare their qualities in a case study. Approaches include a standard Java EE solution and the novel aspect-oriented design focused on dealing with the rules. Critical metrics include SLOC and rule restatement as they define the maintenance efforts. Keywords Enterprise information systems, aspect-oriented programming, business rules. 1. Introduction Every Enterprise Information System (EIS) implements various business processes and maintains corporate data. Consequently, it consists of a large stack of business rules determined by implemented business processes and data constraints. These rules and constraints are reflected throughout the whole system, from the database through application logic to the User Interface (UI). A common EIS uses the three-layered architecture [5] distributing the logic into three components: the persistence layer maintaining resources the application layer implementing business logic the presentation layer presenting data and operations Business rules spread into all these layers where are interpreted with a different purpose. In the presentation layer, they partially validate the input as client-side form validation and conditionally-rendered components, e.g., only some users are eligible to perform some operation or view the data. In the application layer, they perform full input validation and verify preconditions of executed operations not to violate business process flows. Finally, in the persistence layer, they facilitate basic constraint validation and restrict returned collections of data according to given constraints, e.g., return all active projects led by John. As matter of fact, most of business rules repeat throughout the system as they are considered in all layers (vertical repetition). Furthermore, many rules also repeat inside a single layer (horizontal repetition) as we discuss in more detail in Section 2. For example, only administrators are authorized to execute certain methods. In such case, the business rule definition repeats many times in a code base, i.e., an explanation what it means is restated. Maintenance of such code is very difficult, tedious, and error-prone as there is no single place to update when we want to change a rule. There are various approaches modifying the architecture or introducing some workaround to deal with this common issue. We present their overview in Section 3 with an emphasis on the overall concept. Unfortunately, so far there is no implementation fully dealing with business rules repetition. In this paper, we compare three approaches dealing with business rules repetition to the unoptimized implementation. We discuss them in Section 4. To measure efficiency of the approaches, we conduct the case study in Section 5 and measure the rules repetition and maintenance difficulty. We finally conclude in Section Background Business rules represent a fundamental part of every EIS as business processes determine them. They consist of various types of conditions, from data constraints through access policy to operation preconditions. To illustrate their importance, consider the following small Issue Tracking System whose domain model is in Fig. 1. The system maintains Projects consisting of Issues. For each issue, there are submitted activities such as a comment and a commit. Each User stands in one of three roles: a user, a developer, or an administrator, and is assigned to zero or more projects and zero or more issues.
2 2 K. CEMUS, EVALUATION OF BUSINESS RULES MAINTENANCE IN ENTERPRISE INFORMATION SYSTEM quire significant effort and often lead to inconsistencies in the code base. The authors in [11] recommend the Don t Repeat Yourself principle suggesting capturing every piece of knowledge just once in code. In the following chapters, we evaluate various approaches dealing with business rules repetition and measure their efficiency in development and maintenance efforts. 3. Related Work Fig. 1. Data model of the Issue Tracking application The persistence layer facilitates access to resources, e.g., in a database. It provides storage-independent API to maintain resources with a respect to data constraints. For example, a project s name can never be empty, a user must have a role, etc. Furthermore, it returns collections of instances satisfying given conditions, e.g., it returns issues assigned to the user or all opened issues belonging to the project. The application layer ensures data validation on its input plus it verifies preconditions of each operation. The modeled processes determine them. For example, a user instance on the input must have unique username with length between 6 and 15 characters and a strong password. Furthermore, only unauthenticated users are permitted to sign up. Finally, the presentation layer delivers data to users and facilitates the access to business operations. Web services, input forms as well as UI buttons must respect business rules. For example, the inserted issue must have a name longer than 5 characters, or only the project developers can mark the issue as resolved, i.e., hit the button resolve. Unfortunately, a single rule may cross-cut both horizontally and vertically throughout the system. Consider the operation Resolve an issue. In the presentation layer, the resolve button is visible only when 1) The user is a project developer 1 and 2) The issue state is opened 2. These preconditions are verified also in the application layer, in case the presentation layer is bugged or hacked. This is the vertical repetition. Now, consider the first rule. Such a complex precondition must be verified before execution of all operations restricted to project developers, or before rendering all UI buttons restricted to them. This type of repetition, i.e., the repetition inside of the single layer, we consider the horizontal repetition. Both kinds of repetition cause tedious and error-prone maintenance [6]. Moreover, there are usually multiple technologies as they may differ per layer or component. As there is no single point to update, the manual changes re- Business rules maintenance is a well-known challenge already discussed for many years. The authors of [4] explore a few approaches to business logic maintenance on Java EE platform and conclude with suggestion of using object-oriented design patterns to reduce the maintenance efforts. The authors in [9, 10] propose focusing on business rules, and maintain them on various levels of abstraction to have them maintainable by both developers and domain experts. They suggest maintaining them using CASE Tools and then referencing them from the code to allow their automated transformation. In [2], the authors suggest a similar approach emphasizing the business rules as an important concern. The core idea lies in concerns decomposition and their runtime weaving through aspect-oriented programming. We provide more detail of this approach in the following section. This approach, as well as the previous two, relies on power of domain-specific languages [7]. These custom languages tailored for the particular domain benefit from their fit to the domain, comprehensibility, and the possibility to delegate the responsibility to domain experts. Contemporary EISs usually build on the top of the Java EE or.net platforms, both with similar underlying principles. On the Java platform, the basic idea of dealing with business rules lies in Bean Validation [1]. This technique uses meta-programming (annotations) to enrich the code with additional information, such as constraints and preconditions. We discuss this in greater detail later as it is on of the considered approaches. Model-driven development represents another approach to avoid code duplication [8]. It suggests maintaining various models on a few levels of abstraction and having them automatically transformed into more specific levels, which facilitates the knowledge reuse. Unfortunately, this approach has difficult maintenance as it usually supports only forward transformation. When we perform any change to the code, it is very difficult to propagate it back into the model. Nevertheless, this approach does not conflict with the previous approaches, thus it is possible to use them together to minimize manual code duplication and information restatement. 1 A user with a role developer and assigned to the project. 2 State of the is opened.
3 POSTER 2015, PRAGUE MAY Compared Approaches The paper considers four approaches for design and implementation of an EIS. They significantly differ in the resulting qualities of the code and development and maintenance efforts. In this chapter, we describe the approaches to highlight their fundamental ideas, and in the next chapter, we evaluate them in a case study. Unoptimized development The first approach considers completely unoptimized development. There are used no frameworks or tools for business rules management or representation, and no efforts are made to optimize them. It captures them in a programming language directly in places where they must be considered. Java EE framework stack A standard part of the Java EE platform is JSR 303: Bean Validation briefly mentioned previously. This approach annotates the model fields by additional constraints such for strings matching the pattern for non-empty strings. In addition, it allows annotating business operations to restrict the access by security policy. For DEVELOPER ) makes the operation available only to developers. It is also possible to design and implement custom annotation to express all required constraints. In addition, a framework for the UI development RichFaces 3 reads a subset of these annotations and automatically adds constraints into presented input forms. For example, when we create an input box for an field, it automatically adds its client-side constraint. Unfortunately, this type of business rules representation suffers from serious limitation. These constraints have to be valid all the time, which fits only for a few rules. Usually, a significant portion of constraints is defined by the current business operation and user s context, which we are unable to cover in the annotated model. We are forced to tangle these rules into the code as we mention in the first case. Object-oriented design Authors in [4] suggest using object-oriented design to minimize information restatement. They propose use of validator objects encapsulating rules as self-standing objects and just reference them in proper places. It is also possible to group up simple validators into more advanced validators. For example consider the Issue. Its fields such as name or description are restricted by constraints about their length. In every place validating the Issue object, we invoke these validators to verify these constraints without actually duplicating the validating code, although, it restates the set and configuration of used validators. To avoid that, we create an IssueValidator encapsulating all validator invocations related to the Issue validation. Then we just reference the IssueValidator 3 without any information restatement. We do the same for all business operations if necessary. The down side of this approach lies in multiple interpretations of business rules. While in the application layer we use them to validate the input, in the presentation layer we just translate them into client-side language to perform client-side validation. In the persistence, layer we just use them for integrity constraint declaration. All these different interpretations cannot be covered by simple validator objects. This approach works only in the application layer as we are not able to transform the validators into different technologies and the technology for the UI design usually does not support this kind of validators. Aspect-oriented design The authors of [2] consider business rules as an aspect. They suggest capturing them in a convenient domain-specific language and encapsulate into business operation contexts, i.e., sets of preconditions or post-conditions applied on the particular operation [3]. Then these contexts are referenced from the code, and the rules injection is performed at runtime. This approach deploys automated transformation of business rules into various interpretations, which cannot be done with the object-oriented approach. This helps to deal with the vertical restatement. In consequence, the business rules restatement is very efficiently reduced as they are only in the context definitions. On the other hand, this approach suffers from a significant overhead at the beginning, which results in its difficult first deployment. It requires many changes as it recognizes many aspects: business rules, UI layouts, widgets, etc. For all of these aspects and technologies, there has to be implemented a proper, complex aspect weaver. 5. Case Study To compare the considered approaches, we conduct a small case study. We implement the Issue Tracking system from the previous chapters and measure its business rules restatement, maintenance efforts and SLOC 4. We implement all four approaches on the top of the Java EE 6 platform with JavaServer Faces 2.1 for the UI. Aspect-oriented design approach also uses implementation of the concept provided by the Rule Guvnor project currently using JBoss Drools 6 as a domain-specific language for business rules description. In the project, we identified 33 business operations restricted by 116 constraints including basic model constraints. There are implemented 14 different views providing all 33 business operations. As we can see in Tab. 1, the SLOC metric shows some differences among approaches, although they are not significant. The SLOC analysis does not say much about maintenance efforts. However, in the table we see that the aspect-oriented design has undefined presentation layer SLOC. Currently, there is no implementation 4 Source Lines of Code
4 4 K. CEMUS, EVALUATION OF BUSINESS RULES MAINTENANCE IN ENTERPRISE INFORMATION SYSTEM Component Unopt. Java EE OOD AOD Data Model A Application Layer Presentation Layer B ? Presentation Layer C ? Other 0 89 D 209 E 273 F A Including annotations. B Only in Java files, i.e., backing beans. C Only in XML files, i.e., UI description. D Custom annotations. E Validators implementing business rules. F Business rules declaration in the domain-specific language. Tab. 1. SLOC efficiency transforming the business rules into the presentation layer so we cannot implement nor measure it. The current implementation of the approach for the presentation layer, Aspect Faces 5, supports only layouts, widgets, and model structure but not business rules. Tab. 2 shows business rules restatement in the considered approaches. The unoptimized approach is the worst case; there are no efforts devoted to avoiding duplication. The results show inconvenient constraint distribution throughout the all layers for all but the aspect-oriented design. Although the standard Java EE solution partially deals with the business rules, it still leaves a lot of constraints uncovered and tangled into code base. The object-oriented approach slightly improves the unoptimized solution as we do not restate the constraint definitions themselves, i.e., how to validate it, anymore. However, we restate invocation of validators, which is still tedious and error-prone as we might easily overlook some occurrences. Furthermore, we are unable to deploy this approach into the presentation layer as the technology does not allow it. Contrary, the aspect-oriented design does not duplicate the invocations nor restate the constraints definitions. It only addresses declared contexts to know what rules apply. Therefore it looks like the best solution, however, right now there is no implementation transforming business rules into the presentation layers, which falls back to the worst case. Nevertheless it is supposed to directly use no rules in the presentation layer, it is supposed to be able to deliver the functionality only through the context references. Considering the maintenance efforts, the important criteria are 1) high business rules cohesion, 2) low or no business rule restatement, and 3) the fewest possible places to edit. Looking into the results in Tab. 2, we see that the unoptimized solution is very difficult to maintain. There is high restatement as in code is 299 constraints while the application domain declares only 116, and multiple different technologies to maintain. The Java EE solution slightly reduces the restatement, but the number of technologies is increased by the Java annotations representing another place to consider. Contrary, although the measurement of objectoriented design results suggests no improvement, encapsu- 5 Constraints Unopt. Java EE OOD AOD In model A In SQL B In business ops. C 78 3/56 D 62 0/33 E In UI (Java) F /? E In UI (XML) G /? E Other 0 12 H 15 I 116/33 J A Annotations above fields and referenced validators. B Constraints in SQL to retrieve proper data from the database. C Constraints in bodies of business operations. D If conditions / annotations above methods and parameters E Constraints / annotations or tags referencing the context. F Only in Java files, i.e., backing beans. G Only in XML files, i.e., UI description. H Annotations representing constraints. I Number rules in contexts in domain-specific language. J Number of validators. Tab. 2. Constraint restatement lation of constraints into singleton validators significantly reduces error-proneness. The combination of this with the standard Java EE solution provides better results. The best solution seems to be the aspect-oriented design as it reduces both restatement and the number of technologies. It tangles throughout the code only addresses of business contexts declaring sets of rules to apply. Unfortunately, as there is no implementation transforming the rules into the presentation layer, the results cannot verify this hypothesis. 6. Conclusion Business rules represent a crucial part of an EIS; they define processes and constrain data. EIS developers face the challenge of business rules maintenance due to their amount and scope of systems. In this paper, we explore four approaches to the EIS design and conduct a case study to compare them. Our results suggest that the standard Java EE solution is only slightly better than the unoptimized approach as the rules restatement remains high as well as the amount of affected technologies. Consequently, the maintenance efforts are high because we must check many places to perform even the minor changes. As the best choice of considered approaches, we recommend aspect-oriented design avoiding the rules restatement and duplication. It also minimizes the number of technologies defining the rules to one, the domain-specific language. Such an approach benefits from high cohesion of the rules and possibility to engage domain experts into development. Unfortunately, this novel approach is not yet fully implemented, and there is no implementation transforming the rules into the presentation layer. Subsequently, we are unable to verify its efficiency in the UI, although it promises interesting results. Furthermore, although the approach delivers high efficiency, its initial deployment and development of supporting tools bears very high initial overhead into the project, which disqualifies it from efficient use for small and medium-sized systems.
5 POSTER 2015, PRAGUE MAY 14 5 Acknowledgments The research was supervised by professor Michael J. Donahoo, Ph.D. from Baylor University in Waco, Texas, and Tomas Cerny from the Czech Technical University in Prague. This research was also supported by the Grant Agency of the Czech Technical University in Prague, grant No. SGS14/198/OHK3/3T/13. References [1] BERNARD, E., AND PETERSON, S. Jsr 303: Bean validation. Bean Validation Expert Group, March (2009). [2] CEMUS, K., AND CERNY, T. Aspect-driven design of information systems. In SOFSEM 2014: Theory and Practice of Computer Science, LNCS Springer International Publishing Switzerland, 2014, pp [3] CEMUS, K., CERNY, T., AND DONAHOO, M. J. Automated business rules transformation. In Procedia Computer Science Journal. Elsevier, [4] CERNY, T., AND DONAHOO, M. J. How to reduce costs of business logic maintenance. In Computer Science and Automation Engineering (CSAE), 2011 IEEE International Conference on (2011), vol. 1, IEEE, pp [5] FOWLER, M. Patterns of enterprise application architecture. Addison-Wesley Longman Publishing Co., Inc., [6] FOWLER, M. Refactoring: improving the design of existing code. Pearson Education India, [7] FOWLER, M. Domain-specific languages. Pearson Education, [8] KLEPPE, A. G., WARMER, J. B., AND BAST, W. MDA explained, the model driven architecture: Practice and promise. Addison-Wesley Professional, [9] MORGAN, T. Business rules and information systems: aligning IT with business goals. Addison-Wesley Professional, [10] THEODOULIDIS, B., AND YOUDEOWEI, A. Business rules: Towards effective information systems development. Business Information Systems uncertain futures (2000), [11] THOMAS, D., AND HUNT, A. The pragmatic programmer: From journeyman to master, 1999.
Enterprise Information Systems: Comparison of Aspect-driven and MVC-like Approaches
Enterprise Information Systems: Comparison of Aspect-driven and MVC-like Approaches ABSTRACT Karel Cemus, Tomas Cerny, Lubos Matl Dept. of Computer Science Czech Technical University Technická 2, 166 27
More informationAspect, Rich and Anemic Domain models in Enterprise Information Systems
Aspect, Rich and Anemic Domain models in Enterprise Information Systems Karel Cemus 1, Tomas Cerny 1, Lubos Matl 1, and Michael J. Donahoo 2 1 Dept. of Comp. Science, Czech Technical University, Technická
More informationImpact of User Interface Generation on Maintenance
Impact of User Interface Generation on Maintenance Tomas Cerny dept. Computer Science and Engineering Czech Technical University, Charles Square 13, Prague, Czech Republic Email: tomas.cerny@fel.cvut.cz
More informationSeparating out Platform-independent Particles of User Interfaces
Separating out Platform-independent Particles of User Interfaces Tomas Cerny 1 and Michael J. Donahoo 2 1 Computer Science, FEE, Czech Technical University, Charles Square 13, 12135 Prague 2, Czech Rep.,
More informationEvaluation of Separated Concerns in Web-based Delivery of User Interfaces
Evaluation of Separated Concerns in Web-based Delivery of User Interfaces Tomas Cerny 1, Lubos Matl 1, Karel Cemus 1, and Michael J. Donahoo 2 1 Computer Science, FEE, Czech Technical University, Charles
More informationProceedings of the 2014 Federated Conference on Computer Science and Information Systems pp
Proceedings of the 2014 Federated Conference on Computer Science and Information Systems pp. 1667 1676 DOI: 10.15439/2014F244 ACSIS, Vol. 2 Efficient Description and Cache Performance in Aspect-Oriented
More informationUML Specification and Correction of Object-Oriented Anti-patterns
UML Specification and Correction of Object-Oriented Anti-patterns Maria Teresa Llano and Rob Pooley School of Mathematical and Computer Sciences Heriot-Watt University Edinburgh, United Kingdom {mtl4,rjpooley}@hwacuk
More informationA New Algorithm for Singleton Arc Consistency
A New Algorithm for Singleton Arc Consistency Roman Barták, Radek Erben Charles University, Institute for Theoretical Computer Science Malostranské nám. 2/25, 118 Praha 1, Czech Republic bartak@kti.mff.cuni.cz,
More informationAnalysis of the Test Driven Development by Example
Computer Science and Applications 1 (2013) 5-13 Aleksandar Bulajic and Radoslav Stojic The Faculty of Information Technology, Metropolitan University, Belgrade, 11000, Serbia Received: June 18, 2013 /
More informationHOW AND WHEN TO FLATTEN JAVA CLASSES?
HOW AND WHEN TO FLATTEN JAVA CLASSES? Jehad Al Dallal Department of Information Science, P.O. Box 5969, Safat 13060, Kuwait ABSTRACT Improving modularity and reusability are two key objectives in object-oriented
More informationSequence Diagram Generation with Model Transformation Technology
, March 12-14, 2014, Hong Kong Sequence Diagram Generation with Model Transformation Technology Photchana Sawprakhon, Yachai Limpiyakorn Abstract Creating Sequence diagrams with UML tools can be incomplete,
More informationAutomated Testing of Tableau Dashboards
Kinesis Technical Whitepapers April 2018 Kinesis CI Automated Testing of Tableau Dashboards Abstract Companies make business critical decisions every day, based on data from their business intelligence
More informationJava EE 6: Develop Web Applications with JSF
Oracle University Contact Us: +966 1 1 2739 894 Java EE 6: Develop Web Applications with JSF Duration: 4 Days What you will learn JavaServer Faces technology, the server-side component framework designed
More informationAC : EXPLORATION OF JAVA PERSISTENCE
AC 2007-1400: EXPLORATION OF JAVA PERSISTENCE Robert E. Broadbent, Brigham Young University Michael Bailey, Brigham Young University Joseph Ekstrom, Brigham Young University Scott Hart, Brigham Young University
More informationConcurrency Control with Java and Relational Databases
Concurrency Control with Java and Relational Databases Sérgio Soares and Paulo Borba Informatics Center Federal University of Pernambuco Recife, PE, Brazil scbs,phmb @cin.ufpe.br Abstract As web based
More informationDeveloping Rules Applications with Red Hat JBoss BRMS (JB463)
Developing Rules Applications with Red Hat JBoss BRMS (JB463) DESCRIPTION: Course Overview Students will use Red Hat JBoss Developer Studio 7 and Red Hat JBoss BRMS 6 to perform detailed, hands-on exercises
More informationDevelopment of E-Institute Management System Based on Integrated SSH Framework
Development of E-Institute Management System Based on Integrated SSH Framework ABSTRACT The J2EE platform is a multi-tiered framework that provides system level services to facilitate application development.
More informationSynthesizing Communication Middleware from Explicit Connectors in Component Based Distributed Architectures
Synthesizing Communication Middleware from Explicit Connectors in Component Based Distributed Architectures Dietmar Schreiner 1,2 and Karl M. Göschka 1 1 Vienna University of Technology Institute of Information
More informationPolicy Based Device Access Security Position Paper to Device Access Policy Working Group
1 (8) Policy Based Device Access Security Position Paper to Device Access Policy Working Group 2 (8) 1. INTRODUCTION Nokia has implemented a policy-based device access security model for its Web runtime
More informationDeveloping Applications with Java EE 6 on WebLogic Server 12c
Developing Applications with Java EE 6 on WebLogic Server 12c Duration: 5 Days What you will learn The Developing Applications with Java EE 6 on WebLogic Server 12c course teaches you the skills you need
More informationAOSA - Betriebssystemkomponenten und der Aspektmoderatoransatz
AOSA - Betriebssystemkomponenten und der Aspektmoderatoransatz Results obtained by researchers in the aspect-oriented programming are promoting the aim to export these ideas to whole software development
More informationChapter 6 Enterprise Java Beans
Chapter 6 Enterprise Java Beans Overview of the EJB Architecture and J2EE platform The new specification of Java EJB 2.1 was released by Sun Microsystems Inc. in 2002. The EJB technology is widely used
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 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 informationAn Eclipse-based Environment for Programming and Using Service-Oriented Grid
An Eclipse-based Environment for Programming and Using Service-Oriented Grid Tianchao Li and Michael Gerndt Institut fuer Informatik, Technische Universitaet Muenchen, Germany Abstract The convergence
More informationTeiid Designer User Guide 7.5.0
Teiid Designer User Guide 1 7.5.0 1. Introduction... 1 1.1. What is Teiid Designer?... 1 1.2. Why Use Teiid Designer?... 2 1.3. Metadata Overview... 2 1.3.1. What is Metadata... 2 1.3.2. Editing Metadata
More informationSDMX self-learning package No. 3 Student book. SDMX-ML Messages
No. 3 Student book SDMX-ML Messages Produced by Eurostat, Directorate B: Statistical Methodologies and Tools Unit B-5: Statistical Information Technologies Last update of content February 2010 Version
More informationCENTRALIZED MANAGEMENT DELL POWERVAULT DL 2100 POWERED BY SYMANTEC
CENTRALIZED MANAGEMENT DELL POWERVAULT DL 2100 POWERED BY SYMANTEC EXECUTIVE SUMMARY The PowerVault DL2100 Powered by Symantec Backup Exec offers the industry s only fully integrated backup-to-disk solution
More informationA SHIFT OF ACCENT IN INTRODUCTORY OBJECT ORIENTED PROGRAMMING COURSES. Eugeni Gentchev*, Claudia Roda**
A SHIFT OF ACCENT IN INTRODUCTORY OBJECT ORIENTED PROGRAMMING COURSES Eugeni Gentchev*, Claudia Roda** * The American University of Paris, Computer Science Department 148 rue de Grenelle, 75007 Paris,
More informationThe Encoding Complexity of Network Coding
The Encoding Complexity of Network Coding Michael Langberg Alexander Sprintson Jehoshua Bruck California Institute of Technology Email: mikel,spalex,bruck @caltech.edu Abstract In the multicast network
More informationVision of J2EE. Why J2EE? Need for. J2EE Suite. J2EE Based Distributed Application Architecture Overview. Umair Javed 1
Umair Javed 2004 J2EE Based Distributed Application Architecture Overview Lecture - 2 Distributed Software Systems Development Why J2EE? Vision of J2EE An open standard Umbrella for anything Java-related
More informationTRAP/J v2.1: An improvement for Transparent Adaptation
TRAP/J v2.1: An improvement for Transparent Adaptation Technical Report FIU-SCIS-2007-09-01 May 2007 S. Masoud Sadjadi, Luis Atencio, and Tatiana Soldo Autonomic and Grid Computing Research Laboratory
More informationAn Expert System for Design Patterns Recognition
IJCSNS International Journal of Computer Science and Network Security, VOL.17 No.1, January 2017 93 An Expert System for Design Patterns Recognition Omar AlSheikSalem 1 and Hazem Qattous 2 1 Department
More informationCapturing and Formalizing SAF Availability Management Framework Configuration Requirements
Capturing and Formalizing SAF Availability Management Framework Configuration Requirements A. Gherbi, P. Salehi, F. Khendek and A. Hamou-Lhadj Electrical and Computer Engineering, Concordia University,
More informationCharacteristics of Runtime Program Evolution
Characteristics of Runtime Program Evolution Mario Pukall and Martin Kuhlemann School of Computer Science, University of Magdeburg, Germany {pukall, kuhlemann}@iti.cs.uni-magdeburg.de Abstract. Applying
More informationConstruction of SSI Framework Based on MVC Software Design Model Yongchang Rena, Yongzhe Mab
4th International Conference on Mechatronics, Materials, Chemistry and Computer Engineering (ICMMCCE 2015) Construction of SSI Framework Based on MVC Software Design Model Yongchang Rena, Yongzhe Mab School
More informationCzech Technical University in Prague Faculty of Electrical Engineering Department of Computer Science
Czech Technical University in Prague Faculty of Electrical Engineering Department of Computer Science On Concern-separation of Data Presentations in User Interfaces Doctoral Thesis by Tomáš Černý A dissertation
More informationTest Plan. Version Created
Test Plan Version 1.0 2008.10.24 Created 2008.10.14 Yahoo! Property View Rob Shaw Team Leader Jacob McDorman Project Leader Robert Read Technologist Brad Van Dyk Editor Table of Contents [1] Introduction...
More informationSOFTWARE ARCHITECTURES ARCHITECTURAL STYLES SCALING UP PERFORMANCE
SOFTWARE ARCHITECTURES ARCHITECTURAL STYLES SCALING UP PERFORMANCE Tomas Cerny, Software Engineering, FEE, CTU in Prague, 2014 1 ARCHITECTURES SW Architectures usually complex Often we reduce the abstraction
More informationOracle Fusion Middleware 11g: Build Applications with ADF Accel
Oracle University Contact Us: +352.4911.3329 Oracle Fusion Middleware 11g: Build Applications with ADF Accel Duration: 5 Days What you will learn This is a bundled course comprising of Oracle Fusion Middleware
More informationThe Software Station A System for Version Controlled Development and Web Based Deployment of Software for a Mobile Environment
The Software Station A System for Version Controlled Development and Web Based Deployment of Software for a Mobile Environment Lei Liu Philipp Obreiter lei.liu@web.de, obreiter@ipd.uni-karlsruhe.de August
More informationAn Annotation Tool for Semantic Documents
An Annotation Tool for Semantic Documents (System Description) Henrik Eriksson Dept. of Computer and Information Science Linköping University SE-581 83 Linköping, Sweden her@ida.liu.se Abstract. Document
More informationMetadata and Modeling Frameworks: The Object Modeling System Example
Metadata and Modeling Frameworks: The Object Modeling System Example O. David a, I. W. Schneider b, and G. H. Leavesley c a Colorado State University, Fort Collins, CO, U.S.A. b USDA Agricultural Research
More informationIndex. business modeling syntax 181 business process modeling 57 business rule 40
OCL.book Page 203 Tuesday, July 22, 2003 9:48 PM Index Symbols OclAny, of 167 = OclAny, of 167 @pre 34, 86, 155 ^ 34, 156 ^^ 157 A abstract syntax 93 accumulator 153 action in statechart 56 activity
More informationENGINEERING MECHANICS 2012 pp Svratka, Czech Republic, May 14 17, 2012 Paper #249
. 18 m 2012 th International Conference ENGINEERING MECHANICS 2012 pp. 377 381 Svratka, Czech Republic, May 14 17, 2012 Paper #249 COMPUTATIONALLY EFFICIENT ALGORITHMS FOR EVALUATION OF STATISTICAL DESCRIPTORS
More informationA Practical Approach to Balancing Application Performance and Instrumentation Information Using Symantec i 3 for J2EE
WHITE PAPER: APPLICATION CUSTOMIZE PERFORMANCE MANAGEMENT Confidence in a connected world. A Practical Approach to Balancing Application Performance and Instrumentation Information Using Symantec i 3 for
More informationTowards Generating Domain-Specific Model Editors with Complex Editing Commands
Towards Generating Domain-Specific Model Editors with Complex Editing Commands Gabriele Taentzer Technical University of Berlin Germany gabi@cs.tu-berlin.de May 10, 2006 Abstract Domain specific modeling
More informationApplication Servers in E-Commerce Applications
Application Servers in E-Commerce Applications Péter Mileff 1, Károly Nehéz 2 1 PhD student, 2 PhD, Department of Information Engineering, University of Miskolc Abstract Nowadays there is a growing demand
More informationIn the most general sense, a server is a program that provides information
d524720 Ch01.qxd 5/20/03 8:37 AM Page 9 Chapter 1 Introducing Application Servers In This Chapter Understanding the role of application servers Meeting the J2EE family of technologies Outlining the major
More informationProcedia Computer Science
Procedia Computer Science 3 (2011) 584 588 Procedia Computer Science 00 (2010) 000 000 Procedia Computer Science www.elsevier.com/locate/procedia www.elsevier.com/locate/procedia WCIT 2010 Diagnosing internal
More informationJavaEE Interview Prep
Java Database Connectivity 1. What is a JDBC driver? A JDBC driver is a Java program / Java API which allows the Java application to establish connection with the database and perform the database related
More informationTransaction Management in EJBs: Better Separation of Concerns With AOP
Transaction Management in EJBs: Better Separation of Concerns With AOP Johan Fabry Vrije Universiteit Brussel, Pleinlaan 2 1050 Brussel, Belgium Johan.Fabry@vub.ac.be March 8, 2004 1 Introduction The long-term
More informationEffective Web Dynpro - Adaptive RFC Models
Effective Web Dynpro - Adaptive RFC Models Bertram Ganz, NWF Web Dynpro Foundation for Java Overview In many Web Dynpro applications, backend access is based on RFC modules in SAP systems. The Web Dynpro
More informationCSCIE-275. Guide for Chief Programmers
CSCIE-275 Guide for Chief Programmers Serguei Khramtchenko Apr 2006 1 1. Preface... 3 2. Design walkthrough meeting... 4 2.1 Choosing features for an iteration... 4 2.2 Preparing design for walkthrough
More informationJSF Tools Reference Guide. Version: M5
JSF Tools Reference Guide Version: 3.3.0.M5 1. Introduction... 1 1.1. Key Features of JSF Tools... 1 2. 3. 4. 5. 1.2. Other relevant resources on the topic... 2 JavaServer Faces Support... 3 2.1. Facelets
More informationContainer Services for High Confidence Software
Container Services for High Confidence Software Gary J. Vecellio, William M. Thomas, and Robert M. Sanders The MITRE Corporation 7515 Colshire Drive McLean, VA 22102-7508 {vecellio,bthomas,rsanders}@mitre.org
More informationChange Detection System for the Maintenance of Automated Testing
Change Detection System for the Maintenance of Automated Testing Miroslav Bures To cite this version: Miroslav Bures. Change Detection System for the Maintenance of Automated Testing. Mercedes G. Merayo;
More informationLeverage Rational Application Developer v8 to develop Java EE6 application and test with WebSphere Application Server v8
Leverage Rational Application Developer v8 to develop Java EE6 application and test with WebSphere Application Server v8 Author: Ying Liu cdlliuy@cn.ibm.com Date: June 24, 2011 2011 IBM Corporation THE
More informationDynamic Adaptability of Services in Enterprise JavaBeans Architecture
1. Introduction Dynamic Adaptability of Services in Enterprise JavaBeans Architecture Zahi Jarir *, Pierre-Charles David **, Thomas Ledoux ** zahijarir@ucam.ac.ma, {pcdavid, ledoux}@emn.fr (*) Faculté
More informationSimile Tools Workshop Summary MacKenzie Smith, MIT Libraries
Simile Tools Workshop Summary MacKenzie Smith, MIT Libraries Intro On June 10 th and 11 th, 2010 a group of Simile Exhibit users, software developers and architects met in Washington D.C. to discuss the
More informationRemote Health Service System based on Struts2 and Hibernate
St. Cloud State University therepository at St. Cloud State Culminating Projects in Computer Science and Information Technology Department of Computer Science and Information Technology 5-2017 Remote Health
More informationOpen Work of Two-Hemisphere Model Transformation Definition into UML Class Diagram in the Context of MDA
Open Work of Two-Hemisphere Model Transformation Definition into UML Class Diagram in the Context of MDA Oksana Nikiforova and Natalja Pavlova Department of Applied Computer Science, Riga Technical University,
More informationAccess Control in Rich Domain Model Web Applications
Access Control in Rich Domain Model Web Applications Extended Abstract João de Albuquerque Penha Pereira joao.pereira@ist.utl.pt Instituto Superior Técnico November 25, 2010 Abstract Rich Domain Model
More informationAn Approach to VoiceXML Application Modeling
An Approach to Application Modeling Xin Ni 1 Meng Ye 2 Lianhong Cai 3 1,3 Tsinghua University, Beijing, China 2 IBM China Research Lab nx01@mails.tsinghua.edu.cn, yemeng@cn.ibm.com, clh-dcs@tsinghua.edu.cn
More informationAutomated Testing Frameworks: Test Automation with CodedUI
Automated Testing Frameworks: Test Automation with CodedUI CodedUI Introduction CodeUI is one of the important new features in Visual Studio 2010 s Premium and Ultimate versions. It helps users to create
More informationEvaluation of Visual Fabrique (VF)
Evaluation of Visual Fabrique (VF) Dr Peter Lappo www.smr.co.uk Scope and Method This is a review of Visual Fabrique (VF) V1.0.371 EAP Release. In order to conduct this evaluation I followed the tutorial
More informationW3P: A Portable Presentation System for the World-Wide Web
W3P: A Portable Presentation System for the World-Wide Web Christopher R. Vincent Intelligent Information Infrastructure Project MIT Artificial Intelligence Laboratory cvince@ai.mit.edu http://web.mit.edu/cvince/
More informationMAVEN INTERVIEW QUESTIONS
MAVEN INTERVIEW QUESTIONS http://www.tutorialspoint.com/maven/maven_interview_questions.htm Copyright tutorialspoint.com Dear readers, these Maven Interview Questions have been designed specially to get
More informationCaptainCasa Enterprise Client. CaptainCasa Enterprise Client. CaptainCasa & Java Server Faces
CaptainCasa & Java Server Faces 1 Table of Contents Overview...3 Why some own XML definition and not HTML?...3 A Browser for Enterprise Applications...4...Java Server Faces joins the Scenario!...4 Java
More informationApacheCon NA How to Avoid Common Mistakes in OFBiz Development Presented by Adrian Crum
ApacheCon NA 2015 How to Avoid Common Mistakes in OFBiz Development Presented by Adrian Crum 1Tech, Ltd. 29 Harley Street, London, W1G 9QR, UK www.1tech.eu 1 Overview Common Getting Started Problems Common
More informationAPPLICATION ON IOC PATTERN IN INTEGRATION OF WORKFLOW SYSTEM WITH APPLICATION SYSTEMS
APPLICATION ON IOC PATTERN IN INTEGRATION OF WORKFLOW SYSTEM WITH APPLICATION SYSTEMS Limin Ao *, Xiaodong Zhu, Wei Zhou College of Information Engineering, Northeast Dianli University, Jilin, Jilin, China,
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 informationINTERNATIONAL JOURNAL OF COMPUTER ENGINEERING & TECHNOLOGY (IJCET) NEED FOR DESIGN PATTERNS AND FRAMEWORKS FOR QUALITY SOFTWARE DEVELOPMENT
INTERNATIONAL JOURNAL OF COMPUTER ENGINEERING & TECHNOLOGY (IJCET) International Journal of Computer Engineering and Technology (IJCET), ISSN 0976 6367(Print), ISSN 0976 6367(Print) ISSN 0976 6375(Online)
More informationTopics. From UI prototype... About user interfaces. ... via design to implementation. Pearson Education 2005 Chapter 7 (Maciaszek - RASD 2/e) 6
MACIASZEK, L.A. (2005): Requirements Analysis and System Design, 2 nd ed. Addison Wesley, Harlow England, 504p. ISBN 0 321 20464 6 Chapter 7 User Interface Design Topics From UI prototype to implementation
More information2386 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 52, NO. 6, JUNE 2006
2386 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 52, NO. 6, JUNE 2006 The Encoding Complexity of Network Coding Michael Langberg, Member, IEEE, Alexander Sprintson, Member, IEEE, and Jehoshua Bruck,
More informationDemo Proposal. 1 General Information
Demo Proposal 1 General Information Demostration title: FLiP Product Line Derivation Tool Type of demonstration : Forum Contact person: Paulo Borba, phmb@cin.ufpe.br, Informatics Center UFPE, Universidade
More informationPearson Education 2005 Chapter 7 (Maciaszek - RASD 2/e) 2
MACIASZEK, L.A. (2005): Requirements Analysis and System Design, 2 nd ed. Addison Wesley, Harlow England, 504p. ISBN 0 321 20464 6 Chapter 7 User Interface Design Pearson Education Limited 2005 Topics
More informationConcept as a Generalization of Class and Principles of the Concept-Oriented Programming
Computer Science Journal of Moldova, vol.13, no.3(39), 2005 Concept as a Generalization of Class and Principles of the Concept-Oriented Programming Alexandr Savinov Abstract In the paper we describe a
More informationOracle Fusion Middleware 11g: Build Applications with ADF I
Oracle University Contact Us: +966 1 1 2739 894 Oracle Fusion Middleware 11g: Build Applications with ADF I Duration: 5 Days What you will learn This course is aimed at developers who want to build Java
More informationRecursion 1. Recursion is the process of defining something in terms of itself.
Recursion 1 Recursion is the process of defining something in terms of itself. A method that calls itself is said to be recursive. Recursion is an alternative form of program control. It is repetition
More informationAn UML-XML-RDB Model Mapping Solution for Facilitating Information Standardization and Sharing in Construction Industry
An UML-XML-RDB Model Mapping Solution for Facilitating Information Standardization and Sharing in Construction Industry I-Chen Wu 1 and Shang-Hsien Hsieh 2 Department of Civil Engineering, National Taiwan
More informationIntegrated Architecture for Web Application Development Based on Spring Framework and Activiti Engine
Integrated Architecture for Web Application Development Based on Spring Framework and Activiti Engine Xiujin Shi,Kuikui Liu,Yue Li School of Computer Science and Technology Donghua University Shanghai,
More informationCO Java EE 7: Back-End Server Application Development
CO-85116 Java EE 7: Back-End Server Application Development Summary Duration 5 Days Audience Application Developers, Developers, J2EE Developers, Java Developers and System Integrators Level Professional
More informationUNIT-IV BASIC BEHAVIORAL MODELING-I
UNIT-IV BASIC BEHAVIORAL MODELING-I CONTENTS 1. Interactions Terms and Concepts Modeling Techniques 2. Interaction Diagrams Terms and Concepts Modeling Techniques Interactions: Terms and Concepts: An interaction
More informationModeling Systems Using Design Patterns
Modeling Systems Using Design Patterns Jaroslav JAKUBÍK Slovak University of Technology Faculty of Informatics and Information Technologies Ilkovičova 3, 842 16 Bratislava, Slovakia jakubik@fiit.stuba.sk
More informationTowards Integrating Java EE into ProtoCom
Towards Integrating Java EE into ProtoCom Daria Giacinto, Sebastian Lehrig University of Paderborn Zukunftsmeile 1 33102 Paderborn giacinto@mail.upb.de sebastian.lehrig@upb.de Abstract: A key concept of
More informationMapping UML Component Specifications to JEE Implementations
Journal of Computer Science 3 (10): 780-785, 2007 ISSN 1549-3636 2007 Science Publications Mapping UML Component Specifications to JEE Implementations Jyhjong Lin Department of Information Management,
More informationJava- EE Web Application Development with Enterprise JavaBeans and Web Services
Java- EE Web Application Development with Enterprise JavaBeans and Web Services Duration:60 HOURS Price: INR 8000 SAVE NOW! INR 7000 until December 1, 2011 Students Will Learn How to write Session, Message-Driven
More informationA PARSING APPROACH FOR SYSTEM BEHAVIOUR MODELING
IADIS International Conference Applied Computing 2007 A PARSING APPROACH FOR SYSTEM BEHAVIOUR MODELING Lau Sei Ping 1, Wee Bui Lin 2, Nurfauza bt Jali 3 Faculty of Computer Science and Information Technology
More informationCategorizing Migrations
What to Migrate? Categorizing Migrations A version control repository contains two distinct types of data. The first type of data is the actual content of the directories and files themselves which are
More informationSHOTGUN SURGERY DESIGN FLAW DETECTION. A CASE-STUDY
STUDIA UNIV. BABEŞ BOLYAI, INFORMATICA, Volume LVIII, Number 4, 2013 SHOTGUN SURGERY DESIGN FLAW DETECTION. A CASE-STUDY CAMELIA ŞERBAN Abstract. Due to the complexity of object oriented design, its assessment
More informationMythoLogic: problems and their solutions in the evolution of a project
6 th International Conference on Applied Informatics Eger, Hungary, January 27 31, 2004. MythoLogic: problems and their solutions in the evolution of a project István Székelya, Róbert Kincsesb a Department
More informationManaging Load Plans in OTBI Enterprise for HCM Cloud Service
Managing Load Plans in OTBI Enterprise for HCM Cloud Service Copyright 2014, Oracle and/or its affiliates. All rights reserved. 1 Objective After completing this lesson, you should be able to use Configuration
More informationJava EE 6: Develop Business Components with JMS & EJBs
Oracle University Contact Us: + 38516306373 Java EE 6: Develop Business Components with JMS & EJBs Duration: 4 Days What you will learn This Java EE 6: Develop Business Components with JMS & EJBs training
More informationDecision Management in the Insurance Industry: Standards and Tools
Decision Management in the Insurance Industry: Standards and Tools Kimon Batoulis 1, Alexey Nesterenko 2, Günther Repitsch 2, and Mathias Weske 1 1 Hasso Plattner Institute, University of Potsdam, Potsdam,
More informationA NEW DISTRIBUTED COMPOSITE OBJECT MODEL FOR COLLABORATIVE COMPUTING
A NEW DISTRIBUTED COMPOSITE OBJECT MODEL FOR COLLABORATIVE COMPUTING Güray YILMAZ 1 and Nadia ERDOĞAN 2 1 Dept. of Computer Engineering, Air Force Academy, 34807 Yeşilyurt, İstanbul, Turkey 2 Dept. of
More informationThe Unified Modelling Language. Example Diagrams. Notation vs. Methodology. UML and Meta Modelling
UML and Meta ling Topics: UML as an example visual notation The UML meta model and the concept of meta modelling Driven Architecture and model engineering The AndroMDA open source project Applying cognitive
More informationIntel Authoring Tools for UPnP* Technologies
Intel Authoring Tools for UPnP* Technologies (Version 1.00, 05-07-2003) INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE,
More information<Insert Picture Here>
Oracle Forms Modernization with Oracle Application Express Marc Sewtz Software Development Manager Oracle Application Express Oracle USA Inc. 540 Madison Avenue,
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 information