This document summarizes the results of Project Winterfell, which aimed to facilitate the migration of legacy systems to more modern architectures using APIs. It discusses common issues with legacy systems, such as tight coupling and an inability to meet new business needs. It then outlines several "anti-patterns" found in legacy systems and corresponding "counter-patterns" to address them when migrating systems. These include using portability layers to address dependencies on specific operating systems, and using interoperability technologies and service-oriented architectures to integrate systems built with different programming languages. The document concludes by discussing Project Winterfell's use of the OSGi framework and a staged migration strategy to wrap legacy services with APIs and gradually replace components.
VMworld 2013: Best Practices for Application Lifecycle Management with vCloud...VMworld
VMworld 2013
Amjad Afanah, VMware
Rajesh Khazanchi, VMware
Learn more about VMworld and register at http://www.vmworld.com/index.jspa?src=socmed-vmworld-slideshare
Mainframes and Cobol Migration - Tools based - Arkin Softwarearkinsoftware
Arkin Software offers complete migration solution to retire Mainfarmes and Cobol based Applications. It is a migration framework- comprising of a set of automated tools; migration methodology; and experienced consultants that facilitate factory-like precision.
There are three Converter tools.
(a) GUI converter converts legacy GUI into web-structure, RIA technologies or thin-client GUI, with similar look & feel.
(b) Code converter converts business logic of the legacy code into equivalent java.
(c) DAO converter converts Data calls into a chosen persistent framework like SPRING JDBC or JDBC.
Besides these, there are two extremely important tools.
(d) Analyzer: It is this tool that helps us even if there is limited or non-existent documentation and application knowledge. This tool dives through legacy code, builds metrics and relationships to help our team to size and understand the legacy complexity and accurately estimate the migration effort.
(e) Traceability Generator. It maps legacy code to converted java code in a spreadsheet format. This traceability matrix serves two purposes: One is to ensure that no legacy code is missed out during conversion; and the other is to facilitate client’s internal teams to catch up with migrated Java code.
Arkin Software’s unique approach to migration is architecture-centric. That means, we start with the target architecture and migrate the legacy to that target. Never one-to-one migration. Because, migrated applications must live in production for another 20-25 years, which is possible only if they are built on right architecture. Nobody likes applications that may look like Java, but stink like legacy.
Cobol conversion, Retiring mainframes, Migrating mainframes, Cobol to Java, legacy modernization, migration tools
Unlock the Power of Streaming Data with Kinetica and Confluent Platformconfluent
Speakers: Mathew Hawkins, Principal Solution Engineer, Kinetica + Chong Yan, Solutions Architect, Confluent
The volume, complexity and unpredictability of streaming data is greater than ever before. Innovative organizations require instant insight from streaming data in order to make real-time business decisions. A new technology stack is emerging as traditional databases and data lakes are challenged to analyze streaming data and historical data together in real time.
Confluent Platform, a more complete distribution of Apache Kafka®, works with Kinetica’s GPU-accelerated engine to transform data on the wire, instantly ingest data and analyze it at the same time. With the Kinetica Connector, end users can ingest streaming data from sensors, mobile apps, IoT devices and social media via Kafka into Kinetica’s database to combine it with data at rest. Together, the technologies deliver event-driven and real-time data to power the speed of thought analytics, improve customer experience, deliver targeted marketing offers and increase operational efficiencies.
Register for this webinar to see:
-How Kinetica enables businesses to leverage the streaming data delivered with Confluent Platform to gain actionable insights
-How to leverage the Kafka Connect API to integrate data sources and destinations without writing cumbersome code
-A KSQL demo showcasing an end-to-end flow of the complete data pipeline from a live source, to KSQL and finally into Kinetica
Watch the recording: https://videos.confluent.io/watch/HdTKREFJzt6VcefneC4C7H?.
Morphis provides the most comprehensive solutions for cloud-enabling legacy systems. In partnership with leading global enterprises, software vendors and system integrators, Morphis upgrades outdated systems to increase IT innovation, unleashing the agility of the cloud for the customers, partners, suppliers, regulators and employees connected to every enterprise.
SCS 4120 - Software Engineering IV
BACHELOR OF SCIENCE HONOURS IN COMPUTER SCIENCE
BACHELOR OF SCIENCE HONOURS IN SOFTWARE ENGINEERING
All in One Place Lecture Notes
Distribution Among Friends Only
All copyrights belong to their respective owners
Viraj Brian Wijesuriya
vbw@ucsc.cmb.ac.lk
VMworld 2013: Best Practices for Application Lifecycle Management with vCloud...VMworld
VMworld 2013
Amjad Afanah, VMware
Rajesh Khazanchi, VMware
Learn more about VMworld and register at http://www.vmworld.com/index.jspa?src=socmed-vmworld-slideshare
Mainframes and Cobol Migration - Tools based - Arkin Softwarearkinsoftware
Arkin Software offers complete migration solution to retire Mainfarmes and Cobol based Applications. It is a migration framework- comprising of a set of automated tools; migration methodology; and experienced consultants that facilitate factory-like precision.
There are three Converter tools.
(a) GUI converter converts legacy GUI into web-structure, RIA technologies or thin-client GUI, with similar look & feel.
(b) Code converter converts business logic of the legacy code into equivalent java.
(c) DAO converter converts Data calls into a chosen persistent framework like SPRING JDBC or JDBC.
Besides these, there are two extremely important tools.
(d) Analyzer: It is this tool that helps us even if there is limited or non-existent documentation and application knowledge. This tool dives through legacy code, builds metrics and relationships to help our team to size and understand the legacy complexity and accurately estimate the migration effort.
(e) Traceability Generator. It maps legacy code to converted java code in a spreadsheet format. This traceability matrix serves two purposes: One is to ensure that no legacy code is missed out during conversion; and the other is to facilitate client’s internal teams to catch up with migrated Java code.
Arkin Software’s unique approach to migration is architecture-centric. That means, we start with the target architecture and migrate the legacy to that target. Never one-to-one migration. Because, migrated applications must live in production for another 20-25 years, which is possible only if they are built on right architecture. Nobody likes applications that may look like Java, but stink like legacy.
Cobol conversion, Retiring mainframes, Migrating mainframes, Cobol to Java, legacy modernization, migration tools
Unlock the Power of Streaming Data with Kinetica and Confluent Platformconfluent
Speakers: Mathew Hawkins, Principal Solution Engineer, Kinetica + Chong Yan, Solutions Architect, Confluent
The volume, complexity and unpredictability of streaming data is greater than ever before. Innovative organizations require instant insight from streaming data in order to make real-time business decisions. A new technology stack is emerging as traditional databases and data lakes are challenged to analyze streaming data and historical data together in real time.
Confluent Platform, a more complete distribution of Apache Kafka®, works with Kinetica’s GPU-accelerated engine to transform data on the wire, instantly ingest data and analyze it at the same time. With the Kinetica Connector, end users can ingest streaming data from sensors, mobile apps, IoT devices and social media via Kafka into Kinetica’s database to combine it with data at rest. Together, the technologies deliver event-driven and real-time data to power the speed of thought analytics, improve customer experience, deliver targeted marketing offers and increase operational efficiencies.
Register for this webinar to see:
-How Kinetica enables businesses to leverage the streaming data delivered with Confluent Platform to gain actionable insights
-How to leverage the Kafka Connect API to integrate data sources and destinations without writing cumbersome code
-A KSQL demo showcasing an end-to-end flow of the complete data pipeline from a live source, to KSQL and finally into Kinetica
Watch the recording: https://videos.confluent.io/watch/HdTKREFJzt6VcefneC4C7H?.
Morphis provides the most comprehensive solutions for cloud-enabling legacy systems. In partnership with leading global enterprises, software vendors and system integrators, Morphis upgrades outdated systems to increase IT innovation, unleashing the agility of the cloud for the customers, partners, suppliers, regulators and employees connected to every enterprise.
SCS 4120 - Software Engineering IV
BACHELOR OF SCIENCE HONOURS IN COMPUTER SCIENCE
BACHELOR OF SCIENCE HONOURS IN SOFTWARE ENGINEERING
All in One Place Lecture Notes
Distribution Among Friends Only
All copyrights belong to their respective owners
Viraj Brian Wijesuriya
vbw@ucsc.cmb.ac.lk
Operating a High Velocity Large Organization with Spring Cloud MicroservicesNoriaki Tatsumi
Noriaki Tatsumi prepares you to build a microservices architecture that's not only reliable, resilient, and scalable but also addresses the challenges large organizations typically face. He dives into the technical details on how Spring Cloud empowers developers to build the patterns and components of microservices foundation quickly.
Scaling DevOps, whether that is in volume of projects and their associated artifacts, number of people involved, or geographically distributed working, is a growing challenge for the financial industry. Some of the themes this presentation will discuss include:
-Distributed versioning vs. mono repos – can you only choose one? There are many advantages to tools such as Git, but it can be hard to control the proliferation of repos, handle cross repo dependencies, and have visibility into the work of multiple teams. Is it possible to get the best of both?
-The right level of quality: Achieving the right balance between Agile and responsive development, with the necessary processes to achieve required quality levels, is not easy — especially at scale. Supporting code reviews and automated processes, such as continuous integration, need to be performant and flexible.
-Security, traceability, and auditability: Protecting mission-critical files and assets is essential to achieving DevOps and turning banks into operationally agile institutions. The following inherent features of preeminent version control systems foster DevOps at scale: disaster recovery, compliance management, reporting, and auditing.
-Case Studies: Real world use cases of how large financial services organizations and other global teams are tackling these issues.
Moving To The Cloud, Evaluating ArchitecturesMark Sigler
Much has changed in the Cloud, but some fundamentals remain unchanged. As enterprises continue a migration to cloud platforms, architectures and operating models, there is a periodic need to reevaluate their portfolio of preexisting applications to assess the options for migration.
This is a reprise and reimagining of a white paper authored and informed by a cloud consulting project in 2009.
Architecture Entropy is a term used to describe the slow design erosion away from the structured, governed and organised towards a more disordered state.
Regardless of how well designed a computer system is, it will be subjected to the laws of Architecture Entropy.
This presentation attempts to define the term and start some thinking on how to tackle it.
Cloud testing: challenges and opportunities, TaaS, Integration TestingDr Ganesh Iyer
Brief overview of Cloud test challenges, opportunities, methodologies and approaches. Also includes brief introduction to TaaS and Integration test challenges and approaches.
[2015/2016] Collaborative software development with GitIvano Malavolta
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
Modern apps require data services that your back-end infrastructure may lack.Discover how to build successful apps using the Apigee API Services toolkit. Learn how your developers can take advantage of Apigee's mBaaS solution to build and scale their apps without having to stand up an internal database. Deep dive into the API-enabled backend system that enables developers to build features like user management, push notifications, social graph, geo-location and more.
Operating a High Velocity Large Organization with Spring Cloud MicroservicesNoriaki Tatsumi
Noriaki Tatsumi prepares you to build a microservices architecture that's not only reliable, resilient, and scalable but also addresses the challenges large organizations typically face. He dives into the technical details on how Spring Cloud empowers developers to build the patterns and components of microservices foundation quickly.
Scaling DevOps, whether that is in volume of projects and their associated artifacts, number of people involved, or geographically distributed working, is a growing challenge for the financial industry. Some of the themes this presentation will discuss include:
-Distributed versioning vs. mono repos – can you only choose one? There are many advantages to tools such as Git, but it can be hard to control the proliferation of repos, handle cross repo dependencies, and have visibility into the work of multiple teams. Is it possible to get the best of both?
-The right level of quality: Achieving the right balance between Agile and responsive development, with the necessary processes to achieve required quality levels, is not easy — especially at scale. Supporting code reviews and automated processes, such as continuous integration, need to be performant and flexible.
-Security, traceability, and auditability: Protecting mission-critical files and assets is essential to achieving DevOps and turning banks into operationally agile institutions. The following inherent features of preeminent version control systems foster DevOps at scale: disaster recovery, compliance management, reporting, and auditing.
-Case Studies: Real world use cases of how large financial services organizations and other global teams are tackling these issues.
Moving To The Cloud, Evaluating ArchitecturesMark Sigler
Much has changed in the Cloud, but some fundamentals remain unchanged. As enterprises continue a migration to cloud platforms, architectures and operating models, there is a periodic need to reevaluate their portfolio of preexisting applications to assess the options for migration.
This is a reprise and reimagining of a white paper authored and informed by a cloud consulting project in 2009.
Architecture Entropy is a term used to describe the slow design erosion away from the structured, governed and organised towards a more disordered state.
Regardless of how well designed a computer system is, it will be subjected to the laws of Architecture Entropy.
This presentation attempts to define the term and start some thinking on how to tackle it.
Cloud testing: challenges and opportunities, TaaS, Integration TestingDr Ganesh Iyer
Brief overview of Cloud test challenges, opportunities, methodologies and approaches. Also includes brief introduction to TaaS and Integration test challenges and approaches.
[2015/2016] Collaborative software development with GitIvano Malavolta
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
Modern apps require data services that your back-end infrastructure may lack.Discover how to build successful apps using the Apigee API Services toolkit. Learn how your developers can take advantage of Apigee's mBaaS solution to build and scale their apps without having to stand up an internal database. Deep dive into the API-enabled backend system that enables developers to build features like user management, push notifications, social graph, geo-location and more.
Modernizing the Legacy - How Dish is Adapting its SOA Services for a Cloud Fi...VMware Tanzu
SpringOne Platform 2016
Speakers: Rob Bennett; Director, Development, Dish Networks; Chandra Nemalipuri; Principal Software Engineer, Dish Networks; Lax Rastogi; Senior Manager, Dish Networks
Like many companies, Dish has a large number of SOA services that have been built using previous generations of technology. In this session we will discuss the challenges faced in converting legacy services to cloud native applications and the different approaches we considered for resolving the conflicts. We will then dive deeper into the approach that we chose to modernize our services and put us on a track towards a microservices based architecture running on Cloud Foundry.
http://www.hcltech.com/ - More on HCL Technologies
According to industry estimates most of the business critical applications for not only midsize companies, but also many Fortune 500 corporations run on legacy systems, due to the system’s excellent performance and stability. CIO’s and IT managers handling these applications constantly face challenges such as:
High cost of supporting and maintaining the expensive legacy applications.
Inefficient, slow and less productive system compared to competition.
Unmitigated risk associated with lack of skill availability in the resource market.
Risk associated with running business critical application on unsupported platform.
Higher time to market due to large, monolithic, complex and less productive systems.
Integration with newer systems due to incompatibility with new and different technologies.
The API pattern was created in the 1970's when 'distributed architectures' didn't even exist and was established mainly for 'centralized architectures' as it bound the communication data/logic to the business logic.
In a modern world, we have moved to distributed architectures where we now have to share the I/O... but that communication logic still remains bound in the application due to an old API pattern. This makes it so that the IO data and functionality related to a request/response cannot be shared with our edge services without duplication/entanglement. This in turn means the data/functionality in our services then cannot be synchronized.
This leads to dropped threads, poor security, bad data, bad user experience, broken application, etc.
This can ALL be fixed and improved and even lead to better speed, scalability and automation through a new API Pattern.
Legacy to industry leader: a modernization case studyOSSCube
This live webinar goes through the steps of how MakeMyTrip.com engaged OSSCube to completely modernize their website and help them become one of the top online travel companies in the world. Zend Server and Zend Studio were used to expedite the entire project for what has now become arguably the largest Drupal implementation to date.
Updating Legacy Systems: Making the Financial Case for a Modernization Project ILM Professional Services
Most people associate the term “legacy system” with old code, but a true legacy system is any application that is difficult to update. A two-year-old app can already be in a legacy state if it’s unscalable.
Many companies put off updating a legacy system, even when they accept its limitations. It can be a hard sell to replace functioning systems, but the longer it is put off, the more expensive it ultimately becomes.
This deck outlines the financial reasons for updating a legacy system.
IO State In Distributed API ArchitectureOwen Rubel
The API pattern bind IO functionality to business functionality by binding IO state either through annotation (ie JAX) or by extending a RestfulController. As a result, the data associated IO State cannot be shared with the architectural instances because it is bound to the controller. This creates architectural cross cutting concerns not only with the functionality but also with the data. By abstracting the functionality, we can create a versioned data object for IO state that can be shared,cached,synced,reloaded on the fly for all architectural instances without having to restart any instance. This greatly improve automation, performance and flow of api applications and architecture.
API abstraction is the separation of cross cutting concerns related to the api to better enable externalization to architectural concerns. Not only does this enable easier externalization, synchronization and sharing of the environment with external architecture but this also enables us to reload the api configuration on the fly, have DRY'r code, easier batching, api chaining, reduced code, synchronized configuration/security, reduced throughput and much more.
Video Available here : http://java.dzone.com/articles/springone2gx-2014-replay-api
Building a Modern Microservices Architecture at Gilt: The EssentialsC4Media
Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/1OvXF7o.
Yoni Goldberg discusses the many advantages that microservices can offer or has offered to the Gilt engineering team, as well as the challenges and how Gilt’s engineers have gone about resolving these challenges. Yoni also provides a deep-dive exploration of Gilt’s Ops strategy (Docker + AWS), approach to building APIs, monitoring practices, and datastore strategies. Filmed at qconlondon.com.
Since 2010, Lead Software Engineer Yoni Goldberg has led the engineering behind several critical projects at Gilt--including personalization, the Gilt Insider loyalty program, SEO/optimization, and other customer-facing initiatives.
Building an API Platform for Digital TransformationWSO2
To view recording of this webinar please use below URL:
In today’s society, digitization helps people find new and more effective ways to connect, collaborate and conduct business. This touches the core of all business functions and the way in which organizations are managed. Transforming existing legacy systems to support these new concepts is critical.
The WSO2 API Management platform can help you achieve the goals and overcome the challenges of digital transformation. This webinar will discuss a few real world business use cases and how WSO2 API Manager, WSO2 Enterprise Service Bus, WSO2 Data Analytics Server and other products fit into this complete solution.
In this session, we will go into more details on the following topics:
Managing APIs exposed by other systems
Easily achieving legacy system integration and modernization
Getting more insight into APIs and data through big data analytics
ITANA 2016: API Architecture and ImplementationColin Bell
Presentation w/ Zachary Seguin, Kartik Talwar, and Nate Vexler for ITANA (https://spaces.internet2.edu/display/itana/Home) API Group. Covers the University of Waterloo's development of API capabilities starting with a student led Open Data initiative.
Continuous is a hot topic the past two years, but what are the implications if you choose to implement this in you company? Continuous delivery not only impacts the way you arrange the way you work together in an agile way, you also might to reconsider the way you have architected your systems. In order to enable your team to deliver features at high speed and high frequency means you need to carefully architect your system in such a way that you can easily change parts of the system without having downtime. In this session I will dive into some important architectural concepts that you might want to consider if you are building systems that support continuous delivery. Things I will cover are concepts like micro architectures, leveraging cloud solutions to slowly roll out changes cross scale units, design for failure and use of e.g. circuit breaker patterns and how you can provide real time information so you can see how the rollout of your change affects the product in production
Bojan Veljanovski - Modular Software Architecture and Design (Code Camp 2016)Bojan Veljanovski
In this talk I want to share with you an alternative way to develop .NET applications in a more modular way by embracing emergent design techniques. The main idea is to decompose your application into small and reusable modules, in order to achieve high maintainability, low technical debt and prevent the ‘Big Ball of Mud’ creeping in. But how to succeed with this?
Come to my session and you’ll gain a whole new way of thinking about programming, reasoning and designing great software.
Agile and continuous delivery – How IBM Watson Workspace is builtVincent Burckhardt
Journey and transformations that we have been taking at IBM to implement Cloud Native application. Covers culture, architecture and pipeline changes. This presentation was given at IBM Connect 2017 in San Francisco in Feb 2017.
Technical Webinar: Patterns for Integrating Your Salesforce App with Off-Plat...CodeScience
Patterns for Integrating Your Salesforce App with Off-Platform Apps
Integrating Salesforce applications with additional off-platform apps can dramatically extend the capability of powerful business apps. From ERP systems to custom apps, integrating with Salesforce can help streamline essential processes, saving your business valuable time and money. In our latest tech webinar, CodeScience Technical Architect Mark Pond dives into Salesforce integration patterns and the positive impacts they can deliver.
In this technical webinar, you will learn:
- Several common Salesforce integration patterns
- Integration pattern pitfalls
- How to leverage a custom queue to automate background work
- Deliverability and reporting advantages of custom queues
Watch today to learn how automated testing can take your enterprise solutions to the next level.
Software Architecture and Architectors: useless VS valuableComsysto Reply GmbH
Abstract:
This talk introduces definitions of system architecture and proposes a way to achieve "good enough" architecture covers project requirements
Andrei will show several cases from real projects, where wrong, missing or over-sophisticated architecture decisions really hurt the development teams:
Painful sharing: do shared modules increase reusability or will be the source of problems?
Non-extensible extensibility: too sophisticated configuration hurts
Over fine-grained: incorrect splitting to microservices can make life even harder as with monolith
Cargo cult: blindly following patterns and rules can produce an unmaintainable system
Freestyle architecture: what happens if teams completely ignore architecture
Improve with less intelligence: smart endpoint and dumb pipes
We are looking forward to meet many of you in person and have great discussions around this topic!
https://www.meetup.com/de-DE/meetup-group-tfyvuydp/
This is the presentation I did at Apache Asia Roadshow 2009 held at Colombo, Sri Lanka. My talk was titled "Introduction to Apache Synapse". In this presentation, I attempt to address areas like enterprise integration problems, ESB pattern, Synapse architecture, features and the configuration model.
The microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API.
In this slide we have discussed, Monolithic application vs Microservices, applicable scenarios for adopting the architectural pattern, when we need microservices, what are the benefits, case study of an e-commerce platform by compartmentalizing the scopes into different sample microservices and Docker implementations.
The full talk has been recorded here: https://youtu.be/tNlp7HS533g
Abstract
The idea of this talk is to help development teams to make correct architectural decisions.
Andrei will highlight the basic architectural principles and show ways to achieve architecture that is good enough to cover the project requirements and evolve in the future.
He will also present several cases from real projects, where wrong, missing, or over-sophisticated architecture decisions really hurt the development teams:
- Painful sharing: do shared modules increase reusability or will be the source of problems?
- Microservices are the solution to every problem!
- Non-extensible extensibility: too sophisticated configuration hurts
- Over fine-grained: incorrect splitting to Microservices can make life even harder as with monolith
- Convey horizontal split: how organizational driven split can jeopardise the architecture
- Model-driven: central responsibility blocks and limits the team
- Cargo cult: blindly following patterns and rule can produce an unmaintainable system
- Freestyle architecture: what happens if teams completely ignore architecture
- Improve with less intelligence: smart endpoint and dumb pipes
Abstract
The idea of this talk is to help development teams to make correct architectural decisions.
Andrei will highlight the basic architectural principles and show ways to achieve architecture that is good enough to cover the project requirements and evolve in the future.
He will also present several cases from real projects, where wrong, missing, or over-sophisticated architecture decisions really hurt the development teams:
- Painful sharing: do shared modules increase reusability or will be the source of problems?
- Microservices are the solution to every problem!
- Non-extensible extensibility: too sophisticated configuration hurts
- Over fine-grained: incorrect splitting to Microservices can make life even harder as with monolith
- Convey horizontal split: how organizational driven split can jeopardise the architecture
- Model-driven: central responsibility blocks and limits the team
- Cargo cult: blindly following patterns and rule can produce an unmaintainable system
- Freestyle architecture: what happens if teams completely ignore architecture
- Improve with less intelligence: smart endpoint and dumb pipes
Presentazione dello speech tenuto da Carmine Spagnuolo (Postdoctoral Research Fellow - Università degli Studi di Salerno/ ACT OR) dal titolo "Technology insights: Decision Science Platform", durante il Decision Science Forum 2019, il più importante evento italiano sulla Scienza delle Decisioni.
How Microsoft ALM Tools Can Improve Your Bottom LineImaginet
Improved efficiencies, enhanced productivity, reduction of wasted time and effort, and improved team collaboration. Each of these benefits that result from adopting a successful ALM strategy will all help your bottom line. Come find out how at this free webinar!
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
2. What do we mean by “Legacy?”
• “Mature information systems grow old disgracefully…”1
• Software architectures (planned or “accidental”) are
conceived to address a particular need at a moment in time
– May or may not be built to anticipate new features
– Probably will not accommodate changes in business focus
• Legacy software has reached a point in its lifecycle at
which change becomes difficult
– Cannot meet new business needs in a timely manner
– Maintenance tasks become more costly and more difficult to staff
1Legacy
System Anti-Patterns and a Pattern-Oriented Migration Response by Anthony
Lauder and Stuart Kent
3. Don’t forget the good parts
• A legacy platform exists because it addresses needs
– If it has existed for a long time, it probably has served its function
very well
– Customers are not likely to allow a shut-down of current systems
to move to something new with fewer features
• Implications:
– Legacy migration must be staged
– We must find ways to preserve the “good parts” while addressing
current limitations
5. Anti-pattern: “Ball and Chain”
• Summary: Software is “chained” to legacy operating
systems through use of OS-specific features
–
–
–
–
Unix: System V (vs. Posix) Message Queues
Windows: Hooks
OS X: Cocoa APIs
All: Shell calls to invoke command-line processes
• Portability is limited by original system’s scope
– Easiest: CentOS 4 CentOS 5
– Harder: CentOS 5 OS X
– Hardest: CentOS 5 Windows Server 2008
6. Counter-pattern: Portability Adapter
• Create or select a single portability layer technology
– JVM, .NET Common Language Runtime, Posix, LLVM
– Purpose-built Portability Layer using OSGi
• Create a service representative of OS-specific features for
consumption by new applications and services
– Allow existing apps and services to continue native feature use
– New apps and services must use features as represented in
portability layer
• Pattern application results in sweeping system changes
long-term, but leaves existing code intact for immediate
future
7. Anti-pattern: Tower of Babel
• Summary: System components were developed in a
variety of programming languages
– Resource constraints; must use skills available
– Attempt to attract new talent with new language adoption
– “Polyglot” language philosophy; language diversity for its own sake
• Over time, organization cannot maintain code in a large
number of languages
– Original developers may have moved on (new project, new
company, etc.)
– Special-purpose implementations in exotic or less-popular
languages (e.g., OCaml) become marginalized
– Common language runtime mitigates the problem to some extent,
but does not solve it
• Interoperation between languages and runtimes is difficult,
preventing rapid innovation
8. Counter-pattern: Babel Fish
• Select and integrate a language interoperability technology
that creates a bridge between multiple languages and
runtimes
– Cross-language libraries: Thrift, Avro, Pbuf
• Revisiting the “CORBA” theme
• Prone to point-to-point IDL definitions
– SOA: Wrap all services with SOAP and present WSDLs
• Maintain internal services registry
– EDA: present all modules with access to a common event bus
• Asynchronous event patterns
• Well-defined event stream
• Complete service decoupling / separation of concerns
9. Anti-pattern: Monolith
• Summary: Services are embedded in large, monolithic
systems
– complex custom DB apps with heavy use of stored procedures
– older ERP systems
– proprietary voice applications (e.g., IBM WebSphere Voice)
• Not easily componentized, so reuse of discrete features is
more difficult
• Developers may “specialize” in these systems
– System lifetime is prolonged by their experience, but this becomes
niche knowledge
– Risk for the business and for individual careers
10. Counter-pattern: Virtual Componentization
• Create a model of ideal components for each monolithic
system
– Implement idealized components using a Façade above monolithic
system
• “Fake it until you make it”
– Expose APIs for new application development
• Gradually replace Façade components with new
implementations
– Process should be invisible to newer applications and
services, who rely solely on the Façades
11. Anti-pattern: Buried Treasure
• Summary: Source code is the only representation of
domain expertise, and tends to be scattered rather than
centralized
– e.g. internal service for creating a new user may have embedded
rules about user defaults, permissions, etc.
– Accumulation of years of learning about the problem space
– Downside of “self-documenting code”: poorly written/documented
code is worse than a badly written requirements document in this
case
• Major cause of legacy system petrification
– Business rules become fragile as developers fear changes that
may have broader effects than intended
– Original requirements may be lost in the noise introduced by years
of modifications and changes in ownership
12. Counter-pattern: Gold Mining
• Unearth requirements and create formal software contracts
representing these for a development audience
• Many paths to discovery
– One method: lots and lots of meetings (aka. “workshops”) to
discover and record existing requirements
– A better method: define contract structure, let domain experts fill it
in, and review as a team
• Contracts can take many forms
– EDA: event format and sequence definitions
– SOA: WSDLs capturing detailed type information and message
definitions
13. Anti-pattern: Tight Coupling
• Summary: Elements of a legacy system that directly invoke
one another tend to become entangled over time
– Deeper meaning built into method parameters than original intent
– Invocation may depend upon external preconditions or side effects
– If changes are not synchronized, breakage will result, so teams
must move more slowly
14. Counter-pattern: Implicit Invocation
• Remove knowledge of external implementations from
system components
– Move to a model of brokered interaction
– components express interest in events without knowledge of the
remote implementation
• Can accomplish this with:
– Disciplined SOA, in which a registry of components provides only
component binding
– Brokered, asynchronous messaging, providing a complete
separation of concerns
15. Anti-pattern: Code Pollution
• Summary: Event-driven systems build up code to deal with
special event sequence cases
– Particularly relevant where Implicit Invocation is applied
• Subsystem guard code builds up over time, but protocol
rules will not be enforced elsewhere
• Maintenance complexity increases with every new special
case
16. Counter-pattern: Protocol Reflection
• Explicitly define event protocol, then build a shared state
machine to deal with special cases
– GoF State pattern is a good fit
• State machine is deployed for all services that need to
support the event protocol
– Changes to the protocol imply changes to the shared state
machine
22. Why OSGi?
• OSGi Compendium APIs are analogous to typical enterprise integration
patterns (by design)
–
–
–
–
Event Admin => brokered messaging
Config Admin => service configuration access
User Admin => AAA and user account management
Monitor Admin => monitoring and alerting services for Ops
• Directly applicable to addressing legacy anti-patterns
– e.g., Event Admin implementation to support Indirect Invocation, Declarative
Services + Remote Service Admin interfaces for Virtual Componentization
• Separation of concerns built-in
– Modularity provides barrier that fosters code independence
• Developers encouraged by the model to do things the “right” way going
forward
– Easier to reuse
• Most do-it-yourself OSGi options are open source
23. LiveOps Winterfell Project
• Benefits
– Wrap all existing services with APIs (voice, messaging, data,
monitoring, etc.) and provide them to LO developers in a consistent
way
– Retain control over deployment image
• Nothing extra, ability to update core bundles with few interaction worries
– Accelerate development through the use of consistent tools and
technologies, safe code sharing, and a layered, extensible
platform
– Deploy a single image in LO data centers that Ops can “flavor” in
different ways (API server, SIP proxy, call manager…)
– Expose a consistent social contact center model to customers,
partners, and internal LiveOps developers for use in new applications
and services
• Base Technologies
– Daemontools
– Java 7
– Felix 4 / OSGi Core+Compendium 4.3
24. Winterfell Framework
Code Generation
Platform Services
• JSON IDL generates:
- JavaScript lib and
Tests
- Resource Bundle
Skeleton
- JAX-RS uses raw IDL
• All platform server types
defined by JSON
deployment file
• All code deployed;
service type selected at
runtime
Deployment Pipeline
• Continuous integration
• New server gets all bits
and activates one Arya
service per container
Monitoring
Raven Event Bus
• All events contractually
defined
• Send/receive using
Event Admin +
RabbitMQ
• Monitor Admin
implementation sends
events from all services
to monitoring pipeline
26. Winter Gem – Open Source Container Management
• System for deploying Winterfell OSGi containers of varying
configurations
• Based on Felix OSGi Runtime
• Containers are defined by configuration files
– Winterfile defines OSGi bundles to be downloaded and added to
container at runtime
• POM files also supported
– ERB templates used to generate configuration files
– JSON files supply configuration substitutions
• This is now open source software; please use it / fork it, and
send us your pull requests!
– See: https://github.com/liveops/winter
27. LoCo Framework: API Code Generation
JSON IDL
JavaScript
library
Int_gen_code.rb
Java Bean and
Implementation
classes
Test HTML +
JavaScript +
deployable site
project
28. Runtime API Operation
Dynamic REST API
Endpoint
App
JSON
IDL
API Services Manager
- REST API endpoint validates
requests using JSON IDL
- API Svc. Manager provides
binding from URL to Resource
Impl.
- Resource Impl. Builds and
returns resource bean
- Resource ID Service translates
inner to API IDs
Resource ID
Service
Res.
Bean
Resource Impl.
Legacy Service 1
Legacy Service 2
29. Migration Stage 1: API
New
Application 1
Old
Application 1
Old
Application 2
Svc. 1
Svc. 2
Svc. 3
Svc. 4
DB
30. Migration Stage 2: Service Ports
New
Application 1
Old
Application 1
Old
Application 2
Svc. 1
Svc. 2
Svc. 3
Svc. 3
Svc. 4
Svc. 4
DB
31. Migration Stage 3: App Ports
New
Application 1
New
Application 2
Old
Application 1
Old
Application 2
Svc. 1
Svc. 2
Svc. 3
Svc. 1
Svc. 4
Svc. 2
Svc. 3
Svc. 4
DB
32. Next Steps
• Release more OSS Projects
– Raven Event Bus
– Code Generator and API Services Manager
• Complete API coverage of platform elements
• Converge more services / simplify
• Launch application ecosystem for customers/partners
• Hire more API developers!