Application Architect

14,000,000 Leading Edge Experts on the ideXlab platform

Scan Science and Technology

Contact Leading Edge Experts & Companies

Scan Science and Technology

Contact Leading Edge Experts & Companies

The Experts below are selected from a list of 6195 Experts worldwide ranked by ideXlab platform

Agustín Albillos Martínez - One of the best experts on this subject based on the ideXlab platform.

  • A Platform-Aware Model-Driven Embedded Software Engineering Process Based on Annotated Analysis Models
    IEEE Transactions on Emerging Topics in Computing, 2018
    Co-Authors: Pablo Parra, Óscar R. Polo, Javier Fernandez, Antonio Da Silva, Sebastián Sánchez Prieto, Agustín Albillos Martínez
    Abstract:

    In this work a platform-aware model-driven engineering process for building component-based embedded software systems using annotated analysis models is described. The process is supported by a framework, called MICOBS, that allows working with different component technologies and integrating different tools that, independently of the component technology, enable the analysis of non-functional properties based on the principles of composability and compositionality. An actor, called Framework Architect, is responsible for this integration. Three other actors take a relevant part in the analysis process. The Component Provider supplies the components, while the Component Tester is in charge of their validation. The latter also feeds MICOBS with the annotated analysis models that characterize the extra-functional properties of the components for the different platforms on which they can be deployed. The Application Architect uses these components to build new systems, performing the trade-off between different alternatives. At this stage, and in order to verify that the final system meets the extra-functional requirements, the Application Architect uses the reports generated by the integrated analysis tools. This process has been used to support the validation and verification of the on-board Application software for the Instrument Control Unit of the Energetic Particle Detector of the Solar Orbiter mission.

Mark Cyzyk - One of the best experts on this subject based on the ideXlab platform.

  • From Our Readers: Virtues and Values in Digital Library Architecture
    Information Technology and Libraries, 2008
    Co-Authors: Mark Cyzyk
    Abstract:

    At the Fall 2007 Coalition for Networked Information (CNI) conference in Washington, D.C., I presented "A Survey and Evaluation of Open-Source Electronic Publishing Systems." Toward the end of my presentation was a slide enumerating some of the things I had personally learned as a Web Application Architect during my review of the systems under consideration: * Platform independence should not be neglected. * One inherits the flaws of external libraries and frameworks. Choose with care. * Installation procedures must be simple and flawless. * Don't wake the SysAdmin with "Slap a GUI on that XML?"--and push Application administration out, as much as possible, to select users. * Documentation must be concise, complete, and comprehensive. "I can't guess what you're thinking." Initially, these were just notes I thought might be useful to others, figuring it's typically helpful to share experiences, especially at international conferences. But as I now look at those maxims, it occurs to me that when abstracted further they point in the direction of more general concepts and traits--concepts and traits that accurately describe us and the products of our labor if we are successful, and prescribe to us the concepts and traits we need to understand and adopt if we are not. In short, peering into each maxim, I can begin to make out some of the virtues and values that underlie, or should underlie, the design and Architecture of our digital library systems. * Freedom and equality Platform independence should not be neglected. "Even though this Application is written in platform-independent PHP, the documentation says it must be run on either Red Hat or SuSE, or maybe it will run on Solaris too, but we don't have any of these here." While I no doubt will be heartily flamed for suggesting that Microsoft has done more to democratize computing than any other single company, I nevertheless feel the need to point out that, for many of us, Windows server operating systems and our responsibility for administering them Way Back When provided the impetus for adding our swipe-card barcodes to the ACL of the Data Center--surely a badge of membership in the Club of Enterprise IT if ever there was one. You may not like the way Windows does things. You may not like the way Microsoft plays with the other boys. But to act like they don't exist is nothing more than foolish burying one's head in the *NIX sand. Windows servers have proven themselves time and again as being affordable, easily managed, dependable, and, yes, secure workhorses. Windows is the Ford pickup truck of the server world, and while that pickup will some day inevitably suffer a blowout of its twenty-year-old head gasket (and will therefore be respectfully relegated to that place where all dearly departed trucks go), it's been a long and good run. We should recognize and appreciate this. Windows clearly has a place in the data center, sitting quietly humming alongside its Unix and Linux brothers. I imagine that it actually takes some effort to produce platform-dependent Applications using platform-independent languages and frameworks. Such effort should be put toward other things. Keep it pure. And by that I mean, keep it platform independent. Freedom to choose and presumed equality among the server-side OSes should reign. * Responsibility and good sense One inherits the flaws of external libraries and frameworks. Choose with care. So you've installed the OS, you've installed and configured the specified Web server, you've installed and configured the Application platform, you've downloaded and compiled the source, yet there remains a long list of external libraries to install and configure. One by one you install them. Suddenly, when you get to Library Number 16 you hit a snag. It won't install. It requires a previous version of Library Number 7, and multiple versions of Library Number 7 can't be installed at the same time on the same box. …

  • From Our Readers: Virtues and Values in Digital Library Architecture
    Information Technology and Libraries, 2008
    Co-Authors: Mark Cyzyk
    Abstract:

    At the Fall 2007 Coalition for Networked Information (CNI) conference in Washington, D.C., I presented "A Survey and Evaluation of Open-Source Electronic Publishing Systems." Toward the end of my presentation was a slide enumerating some of the things I had personally learned as a Web Application Architect during my review of the systems under consideration: * Platform independence should not be neglected. * One inherits the flaws of external libraries and frameworks. Choose with care. * Installation procedures must be simple and flawless. * Don't wake the SysAdmin with "Slap a GUI on that XML?"--and push Application administration out, as much as possible, to select users. * Documentation must be concise, complete, and comprehensive. "I can't guess what you're thinking." Initially, these were just notes I thought might be useful to others, figuring it's typically helpful to share experiences, especially at international conferences. But as I now look at those maxims, it occurs to me that when abstracted further they point in the direction of more general concepts and traits--concepts and traits that accurately describe us and the products of our labor if we are successful, and prescribe to us the concepts and traits we need to understand and adopt if we are not. In short, peering into each maxim, I can begin to make out some of the virtues and values that underlie, or should underlie, the design and Architecture of our digital library systems. * Freedom and equality Platform independence should not be neglected. "Even though this Application is written in platform-independent PHP, the documentation says it must be run on either Red Hat or SuSE, or maybe it will run on Solaris too, but we don't have any of these here." While I no doubt will be heartily flamed for suggesting that Microsoft has done more to democratize computing than any other single company, I nevertheless feel the need to point out that, for many of us, Windows server operating systems and our responsibility for administering them Way Back When provided the impetus for adding our swipe-card barcodes to the ACL of the Data Center--surely a badge of membership in the Club of Enterprise IT if ever there was one. You may not like the way Windows does things. You may not like the way Microsoft plays with the other boys. But to act like they don't exist is nothing more than foolish burying one's head in the *NIX sand. Windows servers have proven themselves time and again as being affordable, easily managed, dependable, and, yes, secure workhorses. Windows is the Ford pickup truck of the server world, and while that pickup will some day inevitably suffer a blowout of its twenty-year-old head gasket (and will therefore be respectfully relegated to that place where all dearly departed trucks go), it's been a long and good run. We should recognize and appreciate this. Windows clearly has a place in the data center, sitting quietly humming alongside its Unix and Linux brothers. I imagine that it actually takes some effort to produce platform-dependent Applications using platform-independent languages and frameworks. Such effort should be put toward other things. Keep it pure. And by that I mean, keep it platform independent. Freedom to choose and presumed equality among the server-side OSes should reign. * Responsibility and good sense One inherits the flaws of external libraries and frameworks. Choose with care. So you've installed the OS, you've installed and configured the specified Web server, you've installed and configured the Application platform, you've downloaded and compiled the source, yet there remains a long list of external libraries to install and configure. One by one you install them. Suddenly, when you get to Library Number 16 you hit a snag. It won't install. It requires a previous version of Library Number 7, and multiple versions of Library Number 7 can't be installed at the same time on the same box. …

Hafedh Mili - One of the best experts on this subject based on the ideXlab platform.

  • Issues in Deploying Rules
    Agile Business Rule Development, 2011
    Co-Authors: Jérôme Boyer, Hafedh Mili
    Abstract:

    Target audience Application Architect, developer, business analyst In this chapter you will learn Technology and deployment issues to consider when planning your integration, like transaction support, scalability, data access, ruleset deployment How to manage the ruleset life cycle How to implement rule execution as a decision service using web service, SCA and JMS Key points Access to the data model used by the rules can impact performance and should be part of the decision service implementation not the ruleset. Data model definitions are different: there is one for messaging and service contract level; one for the rule execution, and one for persistence in the database. Parallel processing of rule execution is a common implementation in business Application to support scalability and hot deployment. Ruleset parameters should not be exposed as generic service, but behind a service interface which specify the business intent of the different decision service operations.

  • Issues in Designing Business Rule Applications
    Agile Business Rule Development, 2011
    Co-Authors: Jérôme Boyer, Hafedh Mili
    Abstract:

    Target audience Application Architect, software Architect, developer In this chapter you will learn The major design issues for early business rule management system An overview of the major Architectural choices for a business rules Application An overview of the major design issues surrounding the integration of rule engines integration options An overview of the major design issues and best practices regarding reengineering legacy Applications to introduce business rules Key points Business rule management is about more than authoring – and managing – executable rules: we need to manage the early deliverables (rule capture and analysis) and ensure proper traceability through the various stages of ABRD. Business rule Applications can come in many shapes and sizes: rules are Architecture-neutral. Most BRMSs offer many rule engine deployment options.The integration of rule-based decisioning into Applications depends, in part, on the Architecture of the Application, and in part, on rule-specific Architectural requirements. There are some proven patterns to reengineer the decisioning aspect of a legacy Application using rule engines.

  • Deploying with JRules
    Agile Business Rule Development, 2011
    Co-Authors: Jérôme Boyer, Hafedh Mili
    Abstract:

    Target audience Application Architect, software Architect, developer In this chapter you will learn How rulesets are packaged as part of a RuleApp What are the ruleset versioning capabilities How to manage a RuleApp in Rule Team Server and in Rule Execution Server How to use the Rule Engine API, the JSR 94 or the Rule Execution Server rule session API to integrate rule engine processing into your Application How to use a rule engine using JMS deployment The concept of Transparent Decision Service How to identify which rules executed using the Decision Warehouse capability How to develop queries to select the rules you want to have in your ruleset Key points The main deployment unit when using the rule execution server is the RuleApp, which can be created and managed by a business user within rule team server. JRules offers a very flexible API to integrate the rule engine into the business Application leveraging JEE or J2SE deployment model. Rule execution server is simple to use and delivers the rich set of features to manage a ruleset in production and scale vertically. Business users use Rule Team Server to author but also deploy rules to the different RES. Rulesets can be exposed as services, but for most business Application deployed in SOA a decision service is part of reusable business services therefore better deigned with a meaningful interface and implemented using Java using the RES API.1

  • Issues with Rule Testing and Performance
    Agile Business Rule Development, 2011
    Co-Authors: Jérôme Boyer, Hafedh Mili
    Abstract:

    Target audience Application Architect, software Architect, developer, business analyst, nontechnical audiences can skip Sect. 14.6 In this chapter you will learn The rule testing approach and how it fits into the different testing phases used in traditional software development How to use a test-driven approach to implement business rules How using SCA can help build the Application and a test framework by iterations How performance could be impacted by business rules Application, and what to look for during design and testing activities Testing does not end once in production, especially with rule-based Applications What is rule semantic consistency checking, and what the different search patterns are The problem of tracing and logging Key points Adopting a test-driven development helps to implement the rules by first looking at their intent. Testing business rules is about business, so the test has to be designed to prove the impact to the business. The test framework should be light and not too rigid on the assertion of the expected results, as some results are computation driven. Performance tests should measure all the potential bottlenecks, like the messaging layer, the data conversion, the data access, and the rule execution. Rule engines are optimized to run fast, and sometimes data access is the issue. As in database, join operations are costly. Testing activities remain important during the maintenance of the Application. Inconsistencies in a ruleset may happen over time, but they have to be corrected as soon as possible. Some BRMS offer consistency checking features to search for rules never selected, rules that make other rules redundant, rules with equivalent conditions …

Pablo Parra - One of the best experts on this subject based on the ideXlab platform.

  • A Platform-Aware Model-Driven Embedded Software Engineering Process Based on Annotated Analysis Models
    IEEE Transactions on Emerging Topics in Computing, 2018
    Co-Authors: Pablo Parra, Óscar R. Polo, Javier Fernandez, Antonio Da Silva, Sebastián Sánchez Prieto, Agustín Albillos Martínez
    Abstract:

    In this work a platform-aware model-driven engineering process for building component-based embedded software systems using annotated analysis models is described. The process is supported by a framework, called MICOBS, that allows working with different component technologies and integrating different tools that, independently of the component technology, enable the analysis of non-functional properties based on the principles of composability and compositionality. An actor, called Framework Architect, is responsible for this integration. Three other actors take a relevant part in the analysis process. The Component Provider supplies the components, while the Component Tester is in charge of their validation. The latter also feeds MICOBS with the annotated analysis models that characterize the extra-functional properties of the components for the different platforms on which they can be deployed. The Application Architect uses these components to build new systems, performing the trade-off between different alternatives. At this stage, and in order to verify that the final system meets the extra-functional requirements, the Application Architect uses the reports generated by the integrated analysis tools. This process has been used to support the validation and verification of the on-board Application software for the Instrument Control Unit of the Energetic Particle Detector of the Solar Orbiter mission.

Jérôme Boyer - One of the best experts on this subject based on the ideXlab platform.

  • Issues in Deploying Rules
    Agile Business Rule Development, 2011
    Co-Authors: Jérôme Boyer, Hafedh Mili
    Abstract:

    Target audience Application Architect, developer, business analyst In this chapter you will learn Technology and deployment issues to consider when planning your integration, like transaction support, scalability, data access, ruleset deployment How to manage the ruleset life cycle How to implement rule execution as a decision service using web service, SCA and JMS Key points Access to the data model used by the rules can impact performance and should be part of the decision service implementation not the ruleset. Data model definitions are different: there is one for messaging and service contract level; one for the rule execution, and one for persistence in the database. Parallel processing of rule execution is a common implementation in business Application to support scalability and hot deployment. Ruleset parameters should not be exposed as generic service, but behind a service interface which specify the business intent of the different decision service operations.

  • Issues in Designing Business Rule Applications
    Agile Business Rule Development, 2011
    Co-Authors: Jérôme Boyer, Hafedh Mili
    Abstract:

    Target audience Application Architect, software Architect, developer In this chapter you will learn The major design issues for early business rule management system An overview of the major Architectural choices for a business rules Application An overview of the major design issues surrounding the integration of rule engines integration options An overview of the major design issues and best practices regarding reengineering legacy Applications to introduce business rules Key points Business rule management is about more than authoring – and managing – executable rules: we need to manage the early deliverables (rule capture and analysis) and ensure proper traceability through the various stages of ABRD. Business rule Applications can come in many shapes and sizes: rules are Architecture-neutral. Most BRMSs offer many rule engine deployment options.The integration of rule-based decisioning into Applications depends, in part, on the Architecture of the Application, and in part, on rule-specific Architectural requirements. There are some proven patterns to reengineer the decisioning aspect of a legacy Application using rule engines.

  • Deploying with JRules
    Agile Business Rule Development, 2011
    Co-Authors: Jérôme Boyer, Hafedh Mili
    Abstract:

    Target audience Application Architect, software Architect, developer In this chapter you will learn How rulesets are packaged as part of a RuleApp What are the ruleset versioning capabilities How to manage a RuleApp in Rule Team Server and in Rule Execution Server How to use the Rule Engine API, the JSR 94 or the Rule Execution Server rule session API to integrate rule engine processing into your Application How to use a rule engine using JMS deployment The concept of Transparent Decision Service How to identify which rules executed using the Decision Warehouse capability How to develop queries to select the rules you want to have in your ruleset Key points The main deployment unit when using the rule execution server is the RuleApp, which can be created and managed by a business user within rule team server. JRules offers a very flexible API to integrate the rule engine into the business Application leveraging JEE or J2SE deployment model. Rule execution server is simple to use and delivers the rich set of features to manage a ruleset in production and scale vertically. Business users use Rule Team Server to author but also deploy rules to the different RES. Rulesets can be exposed as services, but for most business Application deployed in SOA a decision service is part of reusable business services therefore better deigned with a meaningful interface and implemented using Java using the RES API.1

  • Issues with Rule Testing and Performance
    Agile Business Rule Development, 2011
    Co-Authors: Jérôme Boyer, Hafedh Mili
    Abstract:

    Target audience Application Architect, software Architect, developer, business analyst, nontechnical audiences can skip Sect. 14.6 In this chapter you will learn The rule testing approach and how it fits into the different testing phases used in traditional software development How to use a test-driven approach to implement business rules How using SCA can help build the Application and a test framework by iterations How performance could be impacted by business rules Application, and what to look for during design and testing activities Testing does not end once in production, especially with rule-based Applications What is rule semantic consistency checking, and what the different search patterns are The problem of tracing and logging Key points Adopting a test-driven development helps to implement the rules by first looking at their intent. Testing business rules is about business, so the test has to be designed to prove the impact to the business. The test framework should be light and not too rigid on the assertion of the expected results, as some results are computation driven. Performance tests should measure all the potential bottlenecks, like the messaging layer, the data conversion, the data access, and the rule execution. Rule engines are optimized to run fast, and sometimes data access is the issue. As in database, join operations are costly. Testing activities remain important during the maintenance of the Application. Inconsistencies in a ruleset may happen over time, but they have to be corrected as soon as possible. Some BRMS offer consistency checking features to search for rules never selected, rules that make other rules redundant, rules with equivalent conditions …