The talk presents the new open-source project openCPQ for the web-based configuration of complex products. In contrast to popular commercial configuration tools openCPQ
- uses the browser not only for the UI but also for the business logic, which makes configurators extremely fast by avoiding round trips to the server,
- supports modelling of configuration rules embedded in JavaScript, which permits user-defined abstractions in a flexible way, and
- recomputes the configuration result from scratch instead of incrementally propagating changes in the user input, which fits nicely with React's architecture and makes openCPQ a light-weight framework.
Presented at the MunichJS meetup in May 2015 by Heribert Schütz and Tim Geisler
We present an approach for tackling common problems in configuration
frameworks:
- It is often difficult to map a conceptual model of a configurable
product into the restricted capabilities of configuration engines.
For the end user this leads to suboptimal UIs.
- The communication between a custom UI front-end and the configuration
engine is cumbersome to implement. For the end user the need for
round-trips between the UI and the configuration server can cause a
sluggish user experience.
With HTML5 and JavaScript-based UI frameworks such as React.js browsers
have advanced into a powerful application platform. This allows to run
not only the UI but also the configuration logic in the browser.
This benefits the work of various stakeholders:
- Modelers are provided with powerful data structures and the ability to
define their own concepts.
- Gradually extending the standard UI with custom features becomes easy
and is based on standard technologies.
- End users will enjoy the user experience of modern web applications.
- End users can even use configurators in offline mode, without access
to a server.
- There is no need to run and maintain a server-side configuration
engine.
We will demonstrate this approach with concrete products and discuss the
integration with an SAP back end.
Presented at 2015 CWG Prague - SAP Configuration Workgroup Conference by Heribert Schütz and Tim Geisler
How to Build Your Own Product-Modeling Environment?Tim Geisler
VC and IPC are very generic configuration engines which are suited to many SAP customers. Product models are implemented in generic languages for dependencies with the use of tools like PMEVC and various different transactions each of which allows to maintain a certain object type.
However, usually an SAP customer has its own specific way of using VC and IPC. Special coding patterns are used to achieve desired functionality, there may be restrictions of using some configurator features, and there might be additional functionality added to the configurator. Furthermore, an SAP customer uses its own specific way of specifying product models - which typically happens outside of the modeling environment.
There are no integrated tools for specifying product models. Furthermore, a systematic way of obtaining the implementation of the product model in VC from its specification is missing. For the implementation of product models, generic (and sometimes ancient) tools have to be used.
As product modeling has several common aspects with programming, it helps to look for approaches to these problems in the software-development area. In Model-Driven Software Development domain-specific languages are used to create models which express application structure and behaviour in a concise and domain-specific way. Subsequently, these models are transformed into executable code using model transformations.
We propose to create your own domain-specific language to specify your product models. By using powerful modern open-source frameworks like Eclipse, Xtext, and Xtend2 it is now possible to develop an integrated-development environment for your domain-specific language - your product-modeling environment - with reasonable effort. With the open-source project VClipse as well as with the solution-modeling environment from SAP now two backend systems for the interaction with an SAP system exist which drastically simplify the task of implementing model transformations from your own domain-specific language to a product model in VC or IPC.
We will present as an example for this approach the solution built in a customer project at Nokia Siemens Networks and also give a demonstration.
We examine various aspects of the architecture of a product-modeling environment tailored to your needs. Finally, we discuss whether it is worth the effort to build your own product-modeling environment and point out the preconditions for this approach and describe its benefits.
VClipse – Xtext-based IDE for the SAP Variant ConfiguratorTim Geisler
VClipse is an Eclipse-based IDE for modeling configurable products using the SAP Variant Configurator (VC). It provides a textual modeling language called VCML that can be used instead of the transaction-based tools in SAP. VClipse addresses issues with the SAP tools like lack of overview, poor version/change management, and inability to work offline. It allows validating models, comparing versions, and mass changes. Customers like Nokia Siemens Networks have built modeling environments on top of VClipse for product-specific needs.
Test-driven product modeling is a methodology of product modeling which leads to quick development of high-quality product models. Automatizable test case(s) are written before the product model is implemented. Subsequently the product model is modified until no test cases fail. With subsequent refactoring steps the design and implementation is improved.
To apply this development process, product modelers need to write test cases themselves while implementing the product model. The test cases have to be created and maintained easily and tests have to be executed very quickly. After running the tests, it must be very easy to analyze test results. Furthermore, support for refactoring the product model and test cases is required.
Special tool support is essential to model products in a test-driven way. As an example of such tool support, we present the integration of the ConfigScan test engine into the Eclipse-based modeling environments VClipse and ConfigModeler.
VClipse is an open-source product-modeling environment. Product models can be specified using the textual language VCML. ConfigModeler is a customer-specific product-modeling environment built in a customer project at Nokia Siemens Networks. Product models can be specified in a high-level and customer-specific language.
2012 CWG European Conference - Berlin, Germany (Tim Geisler, webXcerpt Software GmbH, Christophe Faure, Fysbee SAS)
Domain-Specific Languages for Product Modeling (CWG 2011 Cologne, SAP Configu...Tim Geisler
We present ConfigModeler and VClipse, two domain-specific languages and corresponding Eclipse-based integrated development environments (IDEs) for product modeling on different levels of abstraction.
VClipse supports the direct specification of objects and dependencies using VC's abstraction level in a textual language called VCML. VC objects and dependencies can be transferred to an SAP system using RFC or product data replication (PDR) via IDocs. It is also possible to extract product models from an SAP system. This enables the use of standard text comparison tools and version control systems. VClipse is released as an open-source project on http://www.vclipse.org.
ConfigModeler supports the specification of product models in a language supporting a high degree of abstraction. Developed in a customer project at Nokia Siemens Networks, this language has been designed according to the customer's needs, uses the customer's concepts, and fits into the customer’s VC and IPC add-ons. ConfigModeler translates the product models to VC objects and dependencies represented as VCML code.
We will give a demonstration of the two development environments and give an outlook to current and future developments.
How to Create Your Own Product-Modeling EnvironmentTim Geisler
This document discusses how to create a product modeling environment using domain-specific languages (DSLs) and Eclipse tools. It describes using DSLs to model products tailored to a company's needs, with an Eclipse-based IDE for editing. It provides examples of DSLs used at Nokia Siemens Networks for product modeling and integration with SAP, and discusses the various components involved in creating a customized product modeling environment, including the DSL grammar/metamodel, validation, code generation, and integration with other systems.
AdaCore Paris Tech Day 2016: Jose Ruiz - QGen Tech Updatejamieayre
- QGen is a code generator that can generate code from Simulink models. It supports Processor-in-the-Loop testing, has multiple user interfaces, and is the basis for ongoing research focused on system and software integrity.
- It allows for customization at the block and arithmetic levels to reuse pre-certified code libraries. This is done through configuration files that specify functions or libraries to use.
- QGen has achieved a TQL-1 qualification which provides benefits like not needing to review generated code or create low-level tests. This qualification puts requirements on QGen development.
- A QGen debugger provides synchronized views of models, code, and assembly to help with model-level debugging.
Rhapsody's model-driven development environment allows developers to work how they want through model and code synchronization. It supports software asset reuse and visualizing legacy code for clarity. Model-driven testing helps improve quality and productivity. Rhapsody provides an open environment to continue using existing tools.
We present an approach for tackling common problems in configuration
frameworks:
- It is often difficult to map a conceptual model of a configurable
product into the restricted capabilities of configuration engines.
For the end user this leads to suboptimal UIs.
- The communication between a custom UI front-end and the configuration
engine is cumbersome to implement. For the end user the need for
round-trips between the UI and the configuration server can cause a
sluggish user experience.
With HTML5 and JavaScript-based UI frameworks such as React.js browsers
have advanced into a powerful application platform. This allows to run
not only the UI but also the configuration logic in the browser.
This benefits the work of various stakeholders:
- Modelers are provided with powerful data structures and the ability to
define their own concepts.
- Gradually extending the standard UI with custom features becomes easy
and is based on standard technologies.
- End users will enjoy the user experience of modern web applications.
- End users can even use configurators in offline mode, without access
to a server.
- There is no need to run and maintain a server-side configuration
engine.
We will demonstrate this approach with concrete products and discuss the
integration with an SAP back end.
Presented at 2015 CWG Prague - SAP Configuration Workgroup Conference by Heribert Schütz and Tim Geisler
How to Build Your Own Product-Modeling Environment?Tim Geisler
VC and IPC are very generic configuration engines which are suited to many SAP customers. Product models are implemented in generic languages for dependencies with the use of tools like PMEVC and various different transactions each of which allows to maintain a certain object type.
However, usually an SAP customer has its own specific way of using VC and IPC. Special coding patterns are used to achieve desired functionality, there may be restrictions of using some configurator features, and there might be additional functionality added to the configurator. Furthermore, an SAP customer uses its own specific way of specifying product models - which typically happens outside of the modeling environment.
There are no integrated tools for specifying product models. Furthermore, a systematic way of obtaining the implementation of the product model in VC from its specification is missing. For the implementation of product models, generic (and sometimes ancient) tools have to be used.
As product modeling has several common aspects with programming, it helps to look for approaches to these problems in the software-development area. In Model-Driven Software Development domain-specific languages are used to create models which express application structure and behaviour in a concise and domain-specific way. Subsequently, these models are transformed into executable code using model transformations.
We propose to create your own domain-specific language to specify your product models. By using powerful modern open-source frameworks like Eclipse, Xtext, and Xtend2 it is now possible to develop an integrated-development environment for your domain-specific language - your product-modeling environment - with reasonable effort. With the open-source project VClipse as well as with the solution-modeling environment from SAP now two backend systems for the interaction with an SAP system exist which drastically simplify the task of implementing model transformations from your own domain-specific language to a product model in VC or IPC.
We will present as an example for this approach the solution built in a customer project at Nokia Siemens Networks and also give a demonstration.
We examine various aspects of the architecture of a product-modeling environment tailored to your needs. Finally, we discuss whether it is worth the effort to build your own product-modeling environment and point out the preconditions for this approach and describe its benefits.
VClipse – Xtext-based IDE for the SAP Variant ConfiguratorTim Geisler
VClipse is an Eclipse-based IDE for modeling configurable products using the SAP Variant Configurator (VC). It provides a textual modeling language called VCML that can be used instead of the transaction-based tools in SAP. VClipse addresses issues with the SAP tools like lack of overview, poor version/change management, and inability to work offline. It allows validating models, comparing versions, and mass changes. Customers like Nokia Siemens Networks have built modeling environments on top of VClipse for product-specific needs.
Test-driven product modeling is a methodology of product modeling which leads to quick development of high-quality product models. Automatizable test case(s) are written before the product model is implemented. Subsequently the product model is modified until no test cases fail. With subsequent refactoring steps the design and implementation is improved.
To apply this development process, product modelers need to write test cases themselves while implementing the product model. The test cases have to be created and maintained easily and tests have to be executed very quickly. After running the tests, it must be very easy to analyze test results. Furthermore, support for refactoring the product model and test cases is required.
Special tool support is essential to model products in a test-driven way. As an example of such tool support, we present the integration of the ConfigScan test engine into the Eclipse-based modeling environments VClipse and ConfigModeler.
VClipse is an open-source product-modeling environment. Product models can be specified using the textual language VCML. ConfigModeler is a customer-specific product-modeling environment built in a customer project at Nokia Siemens Networks. Product models can be specified in a high-level and customer-specific language.
2012 CWG European Conference - Berlin, Germany (Tim Geisler, webXcerpt Software GmbH, Christophe Faure, Fysbee SAS)
Domain-Specific Languages for Product Modeling (CWG 2011 Cologne, SAP Configu...Tim Geisler
We present ConfigModeler and VClipse, two domain-specific languages and corresponding Eclipse-based integrated development environments (IDEs) for product modeling on different levels of abstraction.
VClipse supports the direct specification of objects and dependencies using VC's abstraction level in a textual language called VCML. VC objects and dependencies can be transferred to an SAP system using RFC or product data replication (PDR) via IDocs. It is also possible to extract product models from an SAP system. This enables the use of standard text comparison tools and version control systems. VClipse is released as an open-source project on http://www.vclipse.org.
ConfigModeler supports the specification of product models in a language supporting a high degree of abstraction. Developed in a customer project at Nokia Siemens Networks, this language has been designed according to the customer's needs, uses the customer's concepts, and fits into the customer’s VC and IPC add-ons. ConfigModeler translates the product models to VC objects and dependencies represented as VCML code.
We will give a demonstration of the two development environments and give an outlook to current and future developments.
How to Create Your Own Product-Modeling EnvironmentTim Geisler
This document discusses how to create a product modeling environment using domain-specific languages (DSLs) and Eclipse tools. It describes using DSLs to model products tailored to a company's needs, with an Eclipse-based IDE for editing. It provides examples of DSLs used at Nokia Siemens Networks for product modeling and integration with SAP, and discusses the various components involved in creating a customized product modeling environment, including the DSL grammar/metamodel, validation, code generation, and integration with other systems.
AdaCore Paris Tech Day 2016: Jose Ruiz - QGen Tech Updatejamieayre
- QGen is a code generator that can generate code from Simulink models. It supports Processor-in-the-Loop testing, has multiple user interfaces, and is the basis for ongoing research focused on system and software integrity.
- It allows for customization at the block and arithmetic levels to reuse pre-certified code libraries. This is done through configuration files that specify functions or libraries to use.
- QGen has achieved a TQL-1 qualification which provides benefits like not needing to review generated code or create low-level tests. This qualification puts requirements on QGen development.
- A QGen debugger provides synchronized views of models, code, and assembly to help with model-level debugging.
Rhapsody's model-driven development environment allows developers to work how they want through model and code synchronization. It supports software asset reuse and visualizing legacy code for clarity. Model-driven testing helps improve quality and productivity. Rhapsody provides an open environment to continue using existing tools.
Kumar J is a network testing engineer with over 9 years of experience testing networking protocols like OSPF, BGP, MPLS, and multicast routing. He has worked at Brocade, Juniper Networks, and HCL Technologies testing a variety of networking equipment and protocols. He is proficient in automation testing using tools like Python, Robot, Perl, and TCL scripts.
The document discusses embedded software development for Eclipse. It provides an overview of Eclipse and how it offers a customizable development platform through a plug-in architecture. Model-driven development approaches are described that can help reduce development costs by catching defects earlier through visual modeling and design-level debugging integrated within the Eclipse environment. Team collaboration is also facilitated through Eclipse and Rational Team Concert plug-ins.
Christopher Markle has over 15 years of experience as a software engineer specializing in Java development. He has worked on projects involving embedded systems, desktop applications, Eclipse RCP tools, and software for set-top boxes. His background includes skills such as Java, C/C++, JavaScript, Python, SQL, UML modeling, and Agile methodologies. He is currently an independent developer working on a Java tracing tool called JTron.
Diwakar Nag has over 25 years of experience as a test architect and development architect. He has extensive experience architecting automated test frameworks in Python, Java, and other languages. Some of his accomplishments include architecting a test framework for HP OneView that replaced a proprietary framework, standardized test hardware usage to reduce complexity, and instituted quality control processes. He also has experience as a development architect, improving performance and standards compliance for various HP-UX components.
Pragmatic Model Driven Development using openArchitectureWareMichael Vorburger
The document discusses Odyssey Financial Technologies' use of Pragmatic Model Driven Development (MDD) using the openArchitectureWare framework. It positions their approach within the broader MDD/MDA landscape and describes openArchitectureWare and how it is used to generate code from models. Their Eclipse-based modeling tools are demonstrated, which utilize domain-specific languages to model different artifact types through a graphical interface.
Installing Installing IBM Rational Rhapsody Designer and Architect for MBSEFraser Chadburn
Detailed screen shots for installation of IBM Rational Rhapsody with Cygwin gcc compiler for executable Model-based Systems Engineering usage. Base instructions for preparing machines for training provided by www.mbsetraining.com.
The document discusses common issues with computer vision (CV) development processes and proposes an improved product-wise approach. Specifically, it notes that CV projects often begin with prototype Matlab code that is not optimized for the target platform and requires rewriting for deployment. This can lead to wasted effort. The document recommends an approach where the initial proof-of-concept uses OpenCV, optimization is considered from the start to minimize memory usage and platform-specific code, and optimized platform-specific OpenCV libraries are later used for each product to simplify porting. Future standardization through APIs like OpenVX is also mentioned.
This document discusses retargetable compilers for reconfigurable computing. It describes several research projects including the Delft Workbench, LimboWARE, VIRGIL and YaRA that aim to develop retargetable compilers that can generate code for different reconfigurable architectures. The document outlines the goals, programming models, workflows and architectures of these projects.
What is CAN FD Stack? The CAN FD Bootloader improvement to help re-programming of the car ECU.Testing administrations for the CAN FD Bootloader according to the ISO norms.
https://www.embitel.com/iso-can-fd-stack-development-and-integration-services
Getting started with IBM Rational Rhapsody in AdaFrank Braun
Getting started with Rhapsody in ADA going through the following steps:
1) Select and install an appropriate Ada Compiler.
2) Install Setup IBM Rational Rhapsody 8.2 in Ada.
3) Build an initial Hello World Example.
The document compares several major programming platforms: C++, Java, C#, and PHP. It provides pros and cons for each platform, discussing performance, cross-platform capabilities, trends, and other factors. It focuses on differences between C++, Java, C# on .NET, C# on Mono, and web development platforms like PHP that are commonly used with LAMP stacks.
A Microsoft representative will give a presentation about Microsoft technologies including ASP.NET on April 8, 2003 at 5:00 PM in Eberly Auditorium at IUP. The presentation is open to both computer and non-computer majors and will include discussions of existing technologies, an ASP.NET demo, an overview of ASP.NET, ADO.NET, and Web Matrix. Food and drinks will be provided after the presentation along with door prizes.
Workflow for Development, Release and Versioning with OSGi / bndtools- Real W...mfrancis
The document describes Siemens' workflow for OSGi development using bndtools. It involves using a version="latest" configuration to reference dependencies from a local or remote Developer OBR (DevOBR) containing stable releases. Continuous integration builds and tests code and releases new versions to the remote read-only DevOBR. This allows developers to work on the latest code while ensuring dependencies can be resolved and past builds reproduced. The workflow aims to provide modularity, partial checkouts, automatic builds, and tools for semantic versioning and dependency management, but some additional tool features could improve the process.
Model-Driven Development for Safety-Critical Softwaregjuljo
Presentation given at the IBM Systems Engineering Symposium, in 2012, about Model-Driven Development for Safety-Critical Software.
With special focus on the usage of Rational Rhapsody for C++ in real-time and safety-critical software development.
GMF : Create your graphical DSL - EclipseCon 11Chauvin Mariot
The document summarizes EclipseCon 2011 presentation on creating graphical domain-specific languages (DSLs) using the Eclipse Modeling Framework (EMF) and Graphical Modeling Framework (GMF). It discusses how GMF provides a runtime and generation framework to easily create a diagram editor for a DSL by reusing existing components and defining the graphical and tooling aspects of the language. Documentation for getting started with GMF can be found on the Eclipse wiki and in books.
This document is a resume for Scott Spivak summarizing his professional experience and skills. He has many years of experience designing and implementing C++ solutions for data storage systems, with a focus on test-driven development. His experience includes roles maintaining storage virtualization systems, developing web and Flash-based GUIs, and designing firmware for tape libraries. He has strong skills in C++, databases, and object-oriented design.
This document discusses Trend Micro STAF (TMSTAF), an automation framework for testing at Trend Micro. TMSTAF is based on STAF, which was created at IBM and open-sourced in 2001. TMSTAF allows for automated testing through test cases written in Python syntax. It features configurable testware, logging, reporting, and integration with build/release processes. The document compares TMSTAF to manual QA testing and outlines how TMSTAF can improve test case creation, environment setup, script development, and quality verification.
This document discusses new features in IBM Rational Performance Tester Version 8.1. It describes enhancements that help with performance testing in agile environments, for performance test specialists, and for performance analysts. Key updates include improved definition and reporting of performance requirements, enhanced test case development features, and new analysis capabilities for monitoring resources and viewing run-time data.
Ui Modeling In Action With PMF, e4(XWT) And EGFBENOIT_LANGLOIS
The document discusses UI modeling using PMF and EGF. It introduces PMF as a platform-independent UI modeling tool and EGF as a model-to-text generation framework. It then summarizes how PMF models can be transformed to XWT user interfaces using patterns and factories in EGF. Key benefits highlighted include separating UI development roles, integrating with Eclipse tools, and enabling customizable UI generation.
"Different software evolutions from Start till Release in PHP product" Oleksa...Fwdays
Ця розповідь розкриє підходи для вирішення багатьох проблем в PHP проєктах через: None-Breaking change development підхід, cross-stack контракти, Trunk Based development, еволюція з Polyrepo до Monorepo з компонентами на різних технологіях, Boilerplat’и компонентів, різні Architecture View, Continuous Testing & Quality, Infrastructure View, Infrastructure as a code як основний інструмент.
PHPFrameworkDay 2020 - Different software evolutions from Start till Release ...Alexandr Savchenko
https://fwdays.com/en/event/php-fwdays-2020
All of us think about many questions when we start a project, when we already have a product and when we release it. Here are some of them: which architecture and infrastructure to choose? what should be the repository structure? how to make the right evolution from one application to 100 microservices with success product release? how to distribute cross-stack commands as a whole? what development practices to use?
This story will expose approaches to solving these and many other problems in PHP projects through: None-Breaking change development approach, Cross-stack contacts, Trunk Based development, evolution from Polyrepo to Monorepo with components on different technologies, Boilerplates for components, different Architecture Views, Continuous Testing & Quality, Infrastructure View, Infrastructure as a code as the main tool.
This topic will appeal to everyone - from Software Developer to Architect, as many Tips & Tricks will be revealed.
Kumar J is a network testing engineer with over 9 years of experience testing networking protocols like OSPF, BGP, MPLS, and multicast routing. He has worked at Brocade, Juniper Networks, and HCL Technologies testing a variety of networking equipment and protocols. He is proficient in automation testing using tools like Python, Robot, Perl, and TCL scripts.
The document discusses embedded software development for Eclipse. It provides an overview of Eclipse and how it offers a customizable development platform through a plug-in architecture. Model-driven development approaches are described that can help reduce development costs by catching defects earlier through visual modeling and design-level debugging integrated within the Eclipse environment. Team collaboration is also facilitated through Eclipse and Rational Team Concert plug-ins.
Christopher Markle has over 15 years of experience as a software engineer specializing in Java development. He has worked on projects involving embedded systems, desktop applications, Eclipse RCP tools, and software for set-top boxes. His background includes skills such as Java, C/C++, JavaScript, Python, SQL, UML modeling, and Agile methodologies. He is currently an independent developer working on a Java tracing tool called JTron.
Diwakar Nag has over 25 years of experience as a test architect and development architect. He has extensive experience architecting automated test frameworks in Python, Java, and other languages. Some of his accomplishments include architecting a test framework for HP OneView that replaced a proprietary framework, standardized test hardware usage to reduce complexity, and instituted quality control processes. He also has experience as a development architect, improving performance and standards compliance for various HP-UX components.
Pragmatic Model Driven Development using openArchitectureWareMichael Vorburger
The document discusses Odyssey Financial Technologies' use of Pragmatic Model Driven Development (MDD) using the openArchitectureWare framework. It positions their approach within the broader MDD/MDA landscape and describes openArchitectureWare and how it is used to generate code from models. Their Eclipse-based modeling tools are demonstrated, which utilize domain-specific languages to model different artifact types through a graphical interface.
Installing Installing IBM Rational Rhapsody Designer and Architect for MBSEFraser Chadburn
Detailed screen shots for installation of IBM Rational Rhapsody with Cygwin gcc compiler for executable Model-based Systems Engineering usage. Base instructions for preparing machines for training provided by www.mbsetraining.com.
The document discusses common issues with computer vision (CV) development processes and proposes an improved product-wise approach. Specifically, it notes that CV projects often begin with prototype Matlab code that is not optimized for the target platform and requires rewriting for deployment. This can lead to wasted effort. The document recommends an approach where the initial proof-of-concept uses OpenCV, optimization is considered from the start to minimize memory usage and platform-specific code, and optimized platform-specific OpenCV libraries are later used for each product to simplify porting. Future standardization through APIs like OpenVX is also mentioned.
This document discusses retargetable compilers for reconfigurable computing. It describes several research projects including the Delft Workbench, LimboWARE, VIRGIL and YaRA that aim to develop retargetable compilers that can generate code for different reconfigurable architectures. The document outlines the goals, programming models, workflows and architectures of these projects.
What is CAN FD Stack? The CAN FD Bootloader improvement to help re-programming of the car ECU.Testing administrations for the CAN FD Bootloader according to the ISO norms.
https://www.embitel.com/iso-can-fd-stack-development-and-integration-services
Getting started with IBM Rational Rhapsody in AdaFrank Braun
Getting started with Rhapsody in ADA going through the following steps:
1) Select and install an appropriate Ada Compiler.
2) Install Setup IBM Rational Rhapsody 8.2 in Ada.
3) Build an initial Hello World Example.
The document compares several major programming platforms: C++, Java, C#, and PHP. It provides pros and cons for each platform, discussing performance, cross-platform capabilities, trends, and other factors. It focuses on differences between C++, Java, C# on .NET, C# on Mono, and web development platforms like PHP that are commonly used with LAMP stacks.
A Microsoft representative will give a presentation about Microsoft technologies including ASP.NET on April 8, 2003 at 5:00 PM in Eberly Auditorium at IUP. The presentation is open to both computer and non-computer majors and will include discussions of existing technologies, an ASP.NET demo, an overview of ASP.NET, ADO.NET, and Web Matrix. Food and drinks will be provided after the presentation along with door prizes.
Workflow for Development, Release and Versioning with OSGi / bndtools- Real W...mfrancis
The document describes Siemens' workflow for OSGi development using bndtools. It involves using a version="latest" configuration to reference dependencies from a local or remote Developer OBR (DevOBR) containing stable releases. Continuous integration builds and tests code and releases new versions to the remote read-only DevOBR. This allows developers to work on the latest code while ensuring dependencies can be resolved and past builds reproduced. The workflow aims to provide modularity, partial checkouts, automatic builds, and tools for semantic versioning and dependency management, but some additional tool features could improve the process.
Model-Driven Development for Safety-Critical Softwaregjuljo
Presentation given at the IBM Systems Engineering Symposium, in 2012, about Model-Driven Development for Safety-Critical Software.
With special focus on the usage of Rational Rhapsody for C++ in real-time and safety-critical software development.
GMF : Create your graphical DSL - EclipseCon 11Chauvin Mariot
The document summarizes EclipseCon 2011 presentation on creating graphical domain-specific languages (DSLs) using the Eclipse Modeling Framework (EMF) and Graphical Modeling Framework (GMF). It discusses how GMF provides a runtime and generation framework to easily create a diagram editor for a DSL by reusing existing components and defining the graphical and tooling aspects of the language. Documentation for getting started with GMF can be found on the Eclipse wiki and in books.
This document is a resume for Scott Spivak summarizing his professional experience and skills. He has many years of experience designing and implementing C++ solutions for data storage systems, with a focus on test-driven development. His experience includes roles maintaining storage virtualization systems, developing web and Flash-based GUIs, and designing firmware for tape libraries. He has strong skills in C++, databases, and object-oriented design.
This document discusses Trend Micro STAF (TMSTAF), an automation framework for testing at Trend Micro. TMSTAF is based on STAF, which was created at IBM and open-sourced in 2001. TMSTAF allows for automated testing through test cases written in Python syntax. It features configurable testware, logging, reporting, and integration with build/release processes. The document compares TMSTAF to manual QA testing and outlines how TMSTAF can improve test case creation, environment setup, script development, and quality verification.
This document discusses new features in IBM Rational Performance Tester Version 8.1. It describes enhancements that help with performance testing in agile environments, for performance test specialists, and for performance analysts. Key updates include improved definition and reporting of performance requirements, enhanced test case development features, and new analysis capabilities for monitoring resources and viewing run-time data.
Ui Modeling In Action With PMF, e4(XWT) And EGFBENOIT_LANGLOIS
The document discusses UI modeling using PMF and EGF. It introduces PMF as a platform-independent UI modeling tool and EGF as a model-to-text generation framework. It then summarizes how PMF models can be transformed to XWT user interfaces using patterns and factories in EGF. Key benefits highlighted include separating UI development roles, integrating with Eclipse tools, and enabling customizable UI generation.
"Different software evolutions from Start till Release in PHP product" Oleksa...Fwdays
Ця розповідь розкриє підходи для вирішення багатьох проблем в PHP проєктах через: None-Breaking change development підхід, cross-stack контракти, Trunk Based development, еволюція з Polyrepo до Monorepo з компонентами на різних технологіях, Boilerplat’и компонентів, різні Architecture View, Continuous Testing & Quality, Infrastructure View, Infrastructure as a code як основний інструмент.
PHPFrameworkDay 2020 - Different software evolutions from Start till Release ...Alexandr Savchenko
https://fwdays.com/en/event/php-fwdays-2020
All of us think about many questions when we start a project, when we already have a product and when we release it. Here are some of them: which architecture and infrastructure to choose? what should be the repository structure? how to make the right evolution from one application to 100 microservices with success product release? how to distribute cross-stack commands as a whole? what development practices to use?
This story will expose approaches to solving these and many other problems in PHP projects through: None-Breaking change development approach, Cross-stack contacts, Trunk Based development, evolution from Polyrepo to Monorepo with components on different technologies, Boilerplates for components, different Architecture Views, Continuous Testing & Quality, Infrastructure View, Infrastructure as a code as the main tool.
This topic will appeal to everyone - from Software Developer to Architect, as many Tips & Tricks will be revealed.
This presentation is about a lecture I gave within the "Software systems and services" immigration course at the Gran Sasso Science Institute, L'Aquila (Italy): http://cs.gssi.infn.it/.
http://www.ivanomalavolta.com
The building blocks for a reusable front end - #imaodbc2015Jonathan Challener
Building web applications that can stand the test of time has always been tough. Web technology in particular is a rapidly changing landscape with new fads emerging frequently, that often leaves us with a outdated and unused application that needs to be rewritten at considerable effort and cost. With a common component based approach we can change this costly cycle of rebuilding every few years, by leveraging existing frameworks and web technologies that will allow us to create interchangeable Web Components that work in any environment.
Although Web Components do pretty much what can be done with custom HTML, CSS and JavaScript, the distinct difference is it can be re-used more easily. In combination with a chosen technical framework, if done right, can provide the front-end to a component based architecture that allows to pick and choose the parts that we want to build our web application with, therefore reducing ongoing costs and effort, and increasing reusability, shareability, and quicker time to market to address users needs.
This presentation will talk about the building blocks that will help to realise this reusable front-end vision including: standards (SDMX, CSPA); technologies; and Collaboration, through a community based approach to software development.
JArchitect manage complex code base and achieve high Code Quality. With JArchitect, software quality can be measured using Code Metrics, visualized using Graphs and Treemaps, and enforced using standard and custom Rules.
Introduction to Data Models & Cisco's NextGen Device Level APIs: an overviewCisco DevNet
A session in the DevNet Zone at Cisco Live, Berlin. The need to automate interactions with the network is ever more obvious. We have a plethora of tools built around legacy technologies, such as SNMP and screen scraping, but these are coming to the end of their useful lives. In this introductory talk we will look at how YANG data models are becoming ever more pervasive across networking, and how they may be used to more efficiently automating network configuration and operational management.
Building A Product Assortment Recommendation EngineDatabricks
Amid the increasingly competitive brewing industry, the ability of retailers and brewers to provide optimal product assortments for their consumers has become a key goal for business stakeholders. Consumer trends, regional heterogeneities and massive product portfolios combine to scale the complexity of assortment selection. At AB InBev, we approach this selection problem through a two-step method rooted in statistical learning techniques. First, regression models and collaborative filtering are used to predict product demand in partnering retailers. The second step involves robust optimization techniques to recommend a set of products that enhance business-specified performance indicators, including retailer revenue and product market share.
With the ultimate goal of scaling our approach to over 100k brick-and-mortar retailers across the United States and online platforms, we have implemented our algorithms in custom-built Python libraries using Apache Spark. We package and deploy production versions of Python wheels to a hosted repository for installation to production infrastructure.
To orchestrate the execution of these processes at scale, we use a combination of the Databricks API, Azure App Configuration, Azure Functions, Azure Event Grid and some custom-built utilities to deploy the production wheels to on-demand and interactive Databricks clusters. From there, we monitor execution with Azure Application Insights and log evaluation metrics to Databricks Delta tables on ADLS. To create a full-fledged product and deliver value to customers, we built a custom web application using React and GraphQL which allows users to request assortment recommendations in a self-service, ad-hoc fashion.
The document discusses training programs offered by Compro, including programs for Microsoft Office, web technologies, C#, and .NET. It also discusses testing of Rockwell Automation's Motion Analyzer 4.7 software conducted at Compro Technologies. Key features of Motion Analyzer discussed include multiple views, automated power supply calculation, and an inbuilt profile editor.
The document describes a Bucharest Big Data Meetup occurring on June 5th. The meetup will include two tech talks: one on productionizing machine learning from 7:00-7:40 PM, and another on a technology comparison of databases vs blockchains from 7:40-8:15 PM. The meetup will conclude from 8:15-8:45 PM with pizza and drinks sponsored by Netopia.
Open Mic to discuss the new features related to Portal and Web Content Management introduced in version 8.5. We will be covering changes related to themes,
mobile, social integration and WCM changes related to syndication and rich media aspects of the new release.
What’s new in Rational collaborative lifecycle management 2011?IBM Danmark
Jan Ekstrøm, Rational Solution Architect - What’s new in Rational Collaborative Lifecycle Management 2011?
Præsentationen er fra Jazz Roadshow 2011.
Se mere på: http://www.smarterbusiness.dk
This document discusses software variability management. It begins by defining software variability as the ability of a software system or artifact to be efficiently extended, changed, customized or configured for a particular context. It then provides examples of variability in iOS and GCC versions. Next, it discusses challenges in managing copies of software with variability and advantages of software product lines. Key aspects of software product line engineering covered include commonalities and variabilities, product derivation, and an example of enterprise resource planning systems. The document concludes by summarizing feature modeling and variability realization techniques including feature models, binding times, and design patterns.
In the new era of digitalization, there is an ever-growing need for design and production processes capable of increasing systems quality, reducing risks and the chance of errors, while, at the same me, reducing overall production costs. Nowadays, more and more systems design scenarios comprise a high number of domains.
However, the underlying tool landscape is still dominated by closed ecosystems, resulting in the design data remaining in separate silos. To effectively deal with novel, massively diverse yet interconnected engineering scenarios, while also considering industrial sustainability and the well-being of the future digital society, we have to propose new ways to look at the digital thread, supporting every phase of a digital engineering lifecycle, while turning the siloed multi-domain engineering data into a holistic, accessible and globally analyzable digital thread.
This presentation is about a lecture I gave within the "Software systems and services" immigration course at the Gran Sasso Science Institute, L'Aquila (Italy): http://cs.gssi.infn.it/.
http://www.ivanomalavolta.com
Data Scientists and Machine Learning practitioners, nowadays, seem to be churning out models by the dozen and they continuously experiment to find ways to improve their accuracies. They also use a variety of ML and DL frameworks & languages , and a typical organization may find that this results in a heterogenous, complicated bunch of assets that require different types of runtimes, resources and sometimes even specialized compute to operate efficiently.
But what does it mean for an enterprise to actually take these models to "production" ? How does an organization scale inference engines out & make them available for real-time applications without significant latencies ? There needs to be different techniques for batch (offline) inferences and instant, online scoring. Data needs to be accessed from various sources and cleansing, transformations of data needs to be enabled prior to any predictions. In many cases, there maybe no substitute for customized data handling with scripting either.
Enterprises also require additional auditing and authorizations built in, approval processes and still support a "continuous delivery" paradigm whereby a data scientist can enable insights faster. Not all models are created equal, nor are consumers of a model - so enterprises require both metering and allocation of compute resources for SLAs.
In this session, we will take a look at how machine learning is operationalized in IBM Data Science Experience (DSX), a Kubernetes based offering for the Private Cloud and optimized for the HortonWorks Hadoop Data Platform. DSX essentially brings in typical software engineering development practices to Data Science, organizing the dev->test->production for machine learning assets in much the same way as typical software deployments. We will also see what it means to deploy, monitor accuracies and even rollback models & custom scorers as well as how API based techniques enable consuming business processes and applications to remain relatively stable amidst all the chaos.
Speaker
Piotr Mierzejewski, Program Director Development IBM DSX Local, IBM
This document discusses delivering developer tools at scale for Oracle Bare Metal Cloud Services. It outlines the challenges of supporting many programming languages, tools, services, features and rapid innovation with a small team. The solutions discussed are using Swagger to declaratively describe APIs, open sourcing tools to engage the community, and maintaining API consistency. It also addresses handling multiple release scopes by using custom fields in the Swagger specification.
Tutorial Expert How-To - Command Line Interface (CLI)PascalDesmarets1
Promote a shared understanding of meaning and context for data structures across business users and technical users, through the synchronization and publication of these data structures to business-facing data catalogs.
Next-Generation Completeness and Consistency Management in the Digital Threa...Ákos Horváth
The document discusses challenges in maintaining consistency, completeness, and correctness (3C) across disconnected engineering data silos. It proposes using links and transformations to connect models between systems engineering and electrical design tools. Validation rules can then check that connections and components are properly mapped between the silos. The IncQuery Validator was used to import a model from E3.GENESYS into its knowledge graph and generate a validation report checking for 3C issues. Tracking link management and validation results over time provides visibility into the progress of the "digital thread" across the engineering lifecycle.
This document discusses different strategies for building web applications using the Accelrys Enterprise Platform (AEP). It outlines three main strategies: Form & Result, Dashboard, and Enterprise Application.
Form & Result is best for simple applications that focus on running protocols and displaying results. Dashboard adds interactivity with JavaScript and the Data Connector. Enterprise Application employs a third-party JavaScript library to build a fully customized user interface, separate from AEP.
The document provides examples and discusses the technologies involved in each approach. It recommends choosing based on requirements complexity, development time, and skill sets, noting that Form & Result is fastest but least customizable, while Enterprise Application is most complex but powerful.
Similar to openCPQ - A React-Based Product-Configuration Toolkit (20)
E-commerce Development Services- Hornet DynamicsHornet Dynamics
For any business hoping to succeed in the digital age, having a strong online presence is crucial. We offer Ecommerce Development Services that are customized according to your business requirements and client preferences, enabling you to create a dynamic, safe, and user-friendly online store.
Do you want Software for your Business? Visit Deuglo
Deuglo has top Software Developers in India. They are experts in software development and help design and create custom Software solutions.
Deuglo follows seven steps methods for delivering their services to their customers. They called it the Software development life cycle process (SDLC).
Requirement — Collecting the Requirements is the first Phase in the SSLC process.
Feasibility Study — after completing the requirement process they move to the design phase.
Design — in this phase, they start designing the software.
Coding — when designing is completed, the developers start coding for the software.
Testing — in this phase when the coding of the software is done the testing team will start testing.
Installation — after completion of testing, the application opens to the live server and launches!
Maintenance — after completing the software development, customers start using the software.
Transform Your Communication with Cloud-Based IVR SolutionsTheSMSPoint
Discover the power of Cloud-Based IVR Solutions to streamline communication processes. Embrace scalability and cost-efficiency while enhancing customer experiences with features like automated call routing and voice recognition. Accessible from anywhere, these solutions integrate seamlessly with existing systems, providing real-time analytics for continuous improvement. Revolutionize your communication strategy today with Cloud-Based IVR Solutions. Learn more at: https://thesmspoint.com/channel/cloud-telephony
Unveiling the Advantages of Agile Software Development.pdfbrainerhub1
Learn about Agile Software Development's advantages. Simplify your workflow to spur quicker innovation. Jump right in! We have also discussed the advantages.
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Łukasz Chruściel
No one wants their application to drag like a car stuck in the slow lane! Yet it’s all too common to encounter bumpy, pothole-filled solutions that slow the speed of any application. Symfony apps are not an exception.
In this talk, I will take you for a spin around the performance racetrack. We’ll explore common pitfalls - those hidden potholes on your application that can cause unexpected slowdowns. Learn how to spot these performance bumps early, and more importantly, how to navigate around them to keep your application running at top speed.
We will focus in particular on tuning your engine at the application level, making the right adjustments to ensure that your system responds like a well-oiled, high-performance race car.
Artificia Intellicence and XPath Extension FunctionsOctavian Nadolu
The purpose of this presentation is to provide an overview of how you can use AI from XSLT, XQuery, Schematron, or XML Refactoring operations, the potential benefits of using AI, and some of the challenges we face.
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdfVALiNTRY360
Salesforce Healthcare CRM, implemented by VALiNTRY360, revolutionizes patient management by enhancing patient engagement, streamlining administrative processes, and improving care coordination. Its advanced analytics, robust security, and seamless integration with telehealth services ensure that healthcare providers can deliver personalized, efficient, and secure patient care. By automating routine tasks and providing actionable insights, Salesforce Healthcare CRM enables healthcare providers to focus on delivering high-quality care, leading to better patient outcomes and higher satisfaction. VALiNTRY360's expertise ensures a tailored solution that meets the unique needs of any healthcare practice, from small clinics to large hospital systems.
For more info visit us https://valintry360.com/solutions/health-life-sciences
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j
Dr. Jesús Barrasa, Head of Solutions Architecture for EMEA, Neo4j
Découvrez les dernières innovations de Neo4j, et notamment les dernières intégrations cloud et les améliorations produits qui font de Neo4j un choix essentiel pour les développeurs qui créent des applications avec des données interconnectées et de l’IA générative.
8 Best Automated Android App Testing Tool and Framework in 2024.pdfkalichargn70th171
Regarding mobile operating systems, two major players dominate our thoughts: Android and iPhone. With Android leading the market, software development companies are focused on delivering apps compatible with this OS. Ensuring an app's functionality across various Android devices, OS versions, and hardware specifications is critical, making Android app testing essential.
When it is all about ERP solutions, companies typically meet their needs with common ERP solutions like SAP, Oracle, and Microsoft Dynamics. These big players have demonstrated that ERP systems can be either simple or highly comprehensive. This remains true today, but there are new factors to consider, including a promising new contender in the market that’s Odoo. This blog compares Odoo ERP with traditional ERP systems and explains why many companies now see Odoo ERP as the best choice.
What are ERP Systems?
An ERP, or Enterprise Resource Planning, system provides your company with valuable information to help you make better decisions and boost your ROI. You should choose an ERP system based on your company’s specific needs. For instance, if you run a manufacturing or retail business, you will need an ERP system that efficiently manages inventory. A consulting firm, on the other hand, would benefit from an ERP system that enhances daily operations. Similarly, eCommerce stores would select an ERP system tailored to their needs.
Because different businesses have different requirements, ERP system functionalities can vary. Among the various ERP systems available, Odoo ERP is considered one of the best in the ERp market with more than 12 million global users today.
Odoo is an open-source ERP system initially designed for small to medium-sized businesses but now suitable for a wide range of companies. Odoo offers a scalable and configurable point-of-sale management solution and allows you to create customised modules for specific industries. Odoo is gaining more popularity because it is built in a way that allows easy customisation, has a user-friendly interface, and is affordable. Here, you will cover the main differences and get to know why Odoo is gaining attention despite the many other ERP systems available in the market.
SMS API Integration in Saudi Arabia| Best SMS API ServiceYara Milbes
Discover the benefits and implementation of SMS API integration in the UAE and Middle East. This comprehensive guide covers the importance of SMS messaging APIs, the advantages of bulk SMS APIs, and real-world case studies. Learn how CEQUENS, a leader in communication solutions, can help your business enhance customer engagement and streamline operations with innovative CPaaS, reliable SMS APIs, and omnichannel solutions, including WhatsApp Business. Perfect for businesses seeking to optimize their communication strategies in the digital age.
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeAftab Hussain
Understanding variable roles in code has been found to be helpful by students
in learning programming -- could variable roles help deep neural models in
performing coding tasks? We do an exploratory study.
- These are slides of the talk given at InteNSE'23: The 1st International Workshop on Interpretability and Robustness in Neural Software Engineering, co-located with the 45th International Conference on Software Engineering, ICSE 2023, Melbourne Australia
Flutter is a popular open source, cross-platform framework developed by Google. In this webinar we'll explore Flutter and its architecture, delve into the Flutter Embedder and Flutter’s Dart language, discover how to leverage Flutter for embedded device development, learn about Automotive Grade Linux (AGL) and its consortium and understand the rationale behind AGL's choice of Flutter for next-gen IVI systems. Don’t miss this opportunity to discover whether Flutter is right for your project.
Microservice Teams - How the cloud changes the way we workSven Peters
A lot of technical challenges and complexity come with building a cloud-native and distributed architecture. The way we develop backend software has fundamentally changed in the last ten years. Managing a microservices architecture demands a lot of us to ensure observability and operational resiliency. But did you also change the way you run your development teams?
Sven will talk about Atlassian’s journey from a monolith to a multi-tenanted architecture and how it affected the way the engineering teams work. You will learn how we shifted to service ownership, moved to more autonomous teams (and its challenges), and established platform and enablement teams.
OpenMetadata Community Meeting - 5th June 2024OpenMetadata
The OpenMetadata Community Meeting was held on June 5th, 2024. In this meeting, we discussed about the data quality capabilities that are integrated with the Incident Manager, providing a complete solution to handle your data observability needs. Watch the end-to-end demo of the data quality features.
* How to run your own data quality framework
* What is the performance impact of running data quality frameworks
* How to run the test cases in your own ETL pipelines
* How the Incident Manager is integrated
* Get notified with alerts when test cases fail
Watch the meeting recording here - https://www.youtube.com/watch?v=UbNOje0kf6E
19. Business Processes
Product Model
Configuration Engine
User
Configuration
Which variants of a product
are available?
Which particular variant
do I want to buy/sell?
Manufacturing Plan
Visualization
Price(s)
Bill of Materials
...
20. Business Processes
Modeling Tool
Modeler
Product Model
Configuration Engine
User
Configuration
Which variants of a product
are available?
Which particular variant
do I want to buy/sell?
Manufacturing Plan
Visualization
Price(s)
Bill of Materials
...
21. Business Processes
Modeling Tool
Modeler
Product Model
Configuration Engine
User
Configuration
Which variants of a product
are available?
Which particular variant
do I want to buy/sell?
Manufacturing Plan
Visualization
Price(s)
Bill of Materials
...
complex
(web)
applications
22. Business Processes
Modeling Tool
Modeler
Product Model
Configuration Engine
User
Configuration
Which variants of a product
are available?
Which particular variant
do I want to buy/sell?
Manufacturing Plan
Visualization
Price(s)
Bill of Materials
...
complex
(web)
applications
proprietary
format
24. Product Model
Modeling Tool
Business Processes
Modeler
Configuration Engine
User
Configuration
Which variants of a product
are available?
Which particular variant
do I want to buy/sell?
Manufacturing Plan
Visualization
Price(s)
Bill of Materials
...
25. Business Processes
Modeler
Configuration Engine
User
Configuration
Which variants of a product
are available?
Which particular variant
do I want to buy/sell?
Manufacturing Plan
Visualization
Price(s)
Bill of Materials
...
Customer-Specific
Modeling Language
Code Generator
Product Model
High-Level
Product Model
Customer-specific IDE
26. Business Processes
Modeler
Configuration Engine
User
Configuration
Which variants of a product
are available?
Which particular variant
do I want to buy/sell?
Manufacturing Plan
Visualization
Price(s)
Bill of Materials
...
Customer-Specific
Modeling Language
Code Generator
Product Model
High-Level
Product Model
Customer-specific IDE
● Text
● Notions like
„slot“, „board“, ...
27. Business Processes
Modeler
Configuration Engine
User
Configuration
Which variants of a product
are available?
Which particular variant
do I want to buy/sell?
Manufacturing Plan
Visualization
Price(s)
Bill of Materials
...
Customer-Specific
Modeling Language
Code Generator
Product Model
High-Level
Product Model
Customer-specific IDE
Based on
● Eclipse
● Xtext
● Text
● Notions like
„slot“, „board“, ...
36. Modeling as Programming
● Abstractions, data structures
● Programming tools
– Editors/IDEs
– Debuggers and profilers
– Revision control
– Test and CI frameworks
37. Modeling as Programming
● Abstractions, data structures
● Programming tools
– Editors/IDEs
– Debuggers and profilers
– Revision control
– Test and CI frameworks
● General purpose tools and languages
– Maturity
– Re-usable knowledge, may already be available
– Large communities and „ecosystems“
41. Configuring in the Browser
Implement configurators in JavaScript.
JavaScript is also
a reasonable choice for modeling.
42. Business Processes
Modeling Tool
Product Model
Configuration Engine
Manufacturing Plan
Visualization
Modeler User
Configuration
Which variants of a product
are available?
Which particular variant
do I want to buy/sell?
Price(s)
Bill of Materials
...
43. Business Processes
Manufacturing Plan
Visualization
Processes with openCPQ
Editor / IDE
Modeler
JavaScript Code
Browser
User
Configuration
Which variants of a product
are available?
Which particular variant
do I want to buy/sell?
Price(s)
Bill of Materials
...
openCPQ
44. Business Processes
Manufacturing Plan
Visualization
Processes with openCPQ
Editor / IDE
Modeler
JavaScript Code
Browser
User
Configuration
Which variants of a product
are available?
Which particular variant
do I want to buy/sell?
Price(s)
Bill of Materials
...
openCPQ
standard
components
45. Business Processes
Manufacturing Plan
Visualization
Processes with openCPQ
Editor / IDE
Modeler
JavaScript Code
Browser
User
Configuration
Which variants of a product
are available?
Which particular variant
do I want to buy/sell?
Price(s)
Bill of Materials
...
openCPQ
standard
components
expressive,
popular
46. Business Processes
Manufacturing Plan
Visualization
Processes with openCPQ
Editor / IDE
Modeler
JavaScript Code
Browser
User
Configuration
Which variants of a product
are available?
Which particular variant
do I want to buy/sell?
Price(s)
Bill of Materials
...
openCPQ
standard
components
light-weight
layer
expressive,
popular
49. ● Building-block library
– Components
– Dependencies
● Combine building blocks with JavaScript
– a Configurator Toolkit in JS
50. ● Building-block library
– Components
– Dependencies
● Combine building blocks with JavaScript
● Add application-specific building blocks
– a Configurator Toolkit in JS
51. ● Building-block library
– Components
– Dependencies
● Combine building blocks with JavaScript
● Add application-specific building blocks
● A light-weight layer based on React and
Bootstrap
– a Configurator Toolkit in JS
53. Source code and links to live demos
available on Github:
https://github.com/webXcerpt/openCPQ
– an Open-Source Project
54. Source code and links to live demos
available on Github:
https://github.com/webXcerpt/openCPQ
Liberal MIT license
– an Open-Source Project
55. Source code and links to live demos
available on Github:
https://github.com/webXcerpt/openCPQ
Liberal MIT license
Use, adapt,
integrate, contribute!
– an Open-Source Project
69. React:
A JavaScript library for building user interfaces
● Unique approach:
– not a widget library
– not an MVC framework
70. React:
A JavaScript library for building user interfaces
● Unique approach:
– not a widget library
– not an MVC framework
● Virtual DOM ("VDOM"):
– Representation of the DOM tree as a JavaScript
data structure (cheap!)
71. React:
A JavaScript library for building user interfaces
● Unique approach:
– not a widget library
– not an MVC framework
● Virtual DOM ("VDOM"):
– Representation of the DOM tree as a JavaScript
data structure (cheap!)
● Upon each update:
72. React:
A JavaScript library for building user interfaces
● Unique approach:
– not a widget library
– not an MVC framework
● Virtual DOM ("VDOM"):
– Representation of the DOM tree as a JavaScript data
structure (cheap!)
● Upon each update:
– User code
● generates VDOM from your model
● possibly using XML templating integrated into JavaScript ("JSX")
73. React:
A JavaScript library for building user interfaces
● Unique approach:
– not a widget library
– not an MVC framework
● Virtual DOM ("VDOM"):
– Representation of the DOM tree as a JavaScript data structure
(cheap!)
● Upon each update:
– User code
● generates VDOM from your model
● possibly using XML templating integrated into JavaScript ("JSX")
– React
● diffs the VDOM with the previous VDOM
● applies only the diff to the actual DOM
124. Summary
Take advantage of modern browser
technology for product configuration.
Powerful modeling based on JavaScript,
React, and openCPQ.
125. Summary
Take advantage of modern browser
technology for product configuration.
Powerful modeling based on JavaScript,
React, and openCPQ.
Flexible and fast user interface.
126. Summary
Take advantage of modern browser
technology for product configuration.
Powerful modeling based on JavaScript,
React, and openCPQ.
Flexible and fast user interface.
Use, adapt, integrate, contribute!
https://github.com/webXcerpt/openCPQ