A little presentation about how we squeezed Symfony to implement some sort of SOA
better see here
https://docs.google.com/presentation/d/1TnDjbERj8F6UgqbZ7fJQsAL6yfg5G56G1iTqSzeTUE8/pub?start=false&loop=false&delayms=3000
Lesson learned during new project base on SOA architecture. Technology used in our project:
- Symfony 2.3
- PHPUnit
- SoapUI
- RabbitMQ
- MySQL (Percona)
- Elasticsearch
- Jenkins
- Memcached
- Nagios
- New Relic
This document summarizes Frank van der Linden's presentation on using Notes objects in memory and other Java tips for XPages development. It discusses putting Notes documents in memory using DominoDocument wrappers, building JSON with built-in classes, using the MVC pattern with managed beans, Java date checks and utility classes, unit testing, and finally blocks. It also provides an overview of the presenter and includes links to his social media and website.
How to create a OSGi Servlet that runs on a Domino server using code from another plugin. Extra is a web app servlet which runs on every other Java Server
1. The document discusses various options for implementing disaster recovery and high availability with Kafka across multiple data centers, including MirrorMaker, MirrorMaker 2, and stretch clusters.
2. MirrorMaker provides basic asynchronous replication between data centers but has limitations around failover and latency. MirrorMaker 2 and replicators support active-active production in both DCs but with more complexity.
3. Stretch clusters treat the multiple DCs as a single Kafka cluster with synchronous replication and no producer latency, but require more resources and rely on low WAN latency. The best option depends on requirements for developer ease, latency, consistency, and budget.
This document compares the performance of for loops, iterators, and Java 8 streams for processing collections of objects. It describes benchmark tests performed on different collection sizes ranging from 10 to 1,000,000 objects. The tests focused on common collection operations like finding the youngest/highest paid object, filtering by a property, and grouping by a property. The results showed that streams were generally faster than for loops for larger collections (>1000 objects) but slower for smaller collections. Iterators had the best performance overall. The document concludes that while streams offer a functional programming style, traditional for loops may still be better for smaller collections or certain object types due to stream overhead.
Ups and downs of enterprise Java app in a research settingCsaba Toth
This document discusses the author's experiences using various technologies like EJB, Spring, Hibernate, GWT, JBoss, and others in a research environment. It outlines some of the ups and downs of each technology, including limitations of EJB for long-running computations, challenges stretching the limits of Hibernate's ORM capabilities, and difficulties migrating applications between versions of JBoss. The author also shares experiences developing the UI with GWT and ExtJS and issues that can arise from bugs in translated JavaScript code. Several figures are referenced but omitted due to prior publication.
The document discusses database versioning using FlywayDB. It describes how FlywayDB works by maintaining a metadata table to track the current schema version and searching the classpath for SQL or Java-based migration files sorted by version number. Migrations are applied in order to bring the database schema to the desired state. The document also covers executing FlywayDB via the command line, Maven, Ant, Gradle or API and provides examples of migration file naming conventions and syntax.
Presentation for Stichting DotNed in 2015:
Microsoft neemt ASP.NET op de schop. Het web applicatie framework uit .NET 1.0 wordt grotendeels herschreven om te voldoen aan de eisen die men tegenwoordig stelt aan het realiseren van een moderne web applicatie. Deze sessie kijken we naar de nieuwe opzet van ASP.NET. We zien hoe Microsoft daarmee een cloud geoptimaliseerd, cross-platform framework creeert, dat zij zelf sneller kunnen laten evolueren door kortere release cycles. Dit alles betekent wel dat ASP.NET anders is geworden. In deze sessie leer je daarom ook wat er is veranderd, hoe je aan de slag gaat en waarom ASP.NET vNext een revolutionaire stap is in Microsoft's framework.
Lesson learned during new project base on SOA architecture. Technology used in our project:
- Symfony 2.3
- PHPUnit
- SoapUI
- RabbitMQ
- MySQL (Percona)
- Elasticsearch
- Jenkins
- Memcached
- Nagios
- New Relic
This document summarizes Frank van der Linden's presentation on using Notes objects in memory and other Java tips for XPages development. It discusses putting Notes documents in memory using DominoDocument wrappers, building JSON with built-in classes, using the MVC pattern with managed beans, Java date checks and utility classes, unit testing, and finally blocks. It also provides an overview of the presenter and includes links to his social media and website.
How to create a OSGi Servlet that runs on a Domino server using code from another plugin. Extra is a web app servlet which runs on every other Java Server
1. The document discusses various options for implementing disaster recovery and high availability with Kafka across multiple data centers, including MirrorMaker, MirrorMaker 2, and stretch clusters.
2. MirrorMaker provides basic asynchronous replication between data centers but has limitations around failover and latency. MirrorMaker 2 and replicators support active-active production in both DCs but with more complexity.
3. Stretch clusters treat the multiple DCs as a single Kafka cluster with synchronous replication and no producer latency, but require more resources and rely on low WAN latency. The best option depends on requirements for developer ease, latency, consistency, and budget.
This document compares the performance of for loops, iterators, and Java 8 streams for processing collections of objects. It describes benchmark tests performed on different collection sizes ranging from 10 to 1,000,000 objects. The tests focused on common collection operations like finding the youngest/highest paid object, filtering by a property, and grouping by a property. The results showed that streams were generally faster than for loops for larger collections (>1000 objects) but slower for smaller collections. Iterators had the best performance overall. The document concludes that while streams offer a functional programming style, traditional for loops may still be better for smaller collections or certain object types due to stream overhead.
Ups and downs of enterprise Java app in a research settingCsaba Toth
This document discusses the author's experiences using various technologies like EJB, Spring, Hibernate, GWT, JBoss, and others in a research environment. It outlines some of the ups and downs of each technology, including limitations of EJB for long-running computations, challenges stretching the limits of Hibernate's ORM capabilities, and difficulties migrating applications between versions of JBoss. The author also shares experiences developing the UI with GWT and ExtJS and issues that can arise from bugs in translated JavaScript code. Several figures are referenced but omitted due to prior publication.
The document discusses database versioning using FlywayDB. It describes how FlywayDB works by maintaining a metadata table to track the current schema version and searching the classpath for SQL or Java-based migration files sorted by version number. Migrations are applied in order to bring the database schema to the desired state. The document also covers executing FlywayDB via the command line, Maven, Ant, Gradle or API and provides examples of migration file naming conventions and syntax.
Presentation for Stichting DotNed in 2015:
Microsoft neemt ASP.NET op de schop. Het web applicatie framework uit .NET 1.0 wordt grotendeels herschreven om te voldoen aan de eisen die men tegenwoordig stelt aan het realiseren van een moderne web applicatie. Deze sessie kijken we naar de nieuwe opzet van ASP.NET. We zien hoe Microsoft daarmee een cloud geoptimaliseerd, cross-platform framework creeert, dat zij zelf sneller kunnen laten evolueren door kortere release cycles. Dit alles betekent wel dat ASP.NET anders is geworden. In deze sessie leer je daarom ook wat er is veranderd, hoe je aan de slag gaat en waarom ASP.NET vNext een revolutionaire stap is in Microsoft's framework.
Ambry is an open source object store that is responsible for storing all media content at Linkedin. This talk goes over development of Ambry at Linkedin and its architecture to some details.
Flyway is a light database migration tools:
- Migrate the database from a list of sql migration scripts (schemas and data).
- Each script is prefixed by a version number that determine the version of the database.
- The execution trace of the scripts is saved in a "schemas_version" table.
- Automatically find which scripts to execute to upgrate a database to a specific version.
Training on iOS app development - Samesh Swongamikha & Neetin SharmaMobileNepal
This document summarizes key concepts for iOS app development including design patterns like MVVM, communication patterns, databases like CoreData, networking using REST APIs and libraries like AFNetworking, memory management with ARC, and an introduction to the Swift programming language. Useful resources for iOS development are also provided.
Tommi Reiman discusses optimizing Clojure performance and abstractions. He shares lessons learned from optimizing middleware performance and JSON serialization. Data-driven approaches can enable high performance while maintaining abstraction. Reitit is a new routing library that aims to have the fastest performance through techniques like compiled routing data. Middleware can also benefit from data-driven approaches without runtime penalties. Overall performance should be considered but not obsessively, as many apps do not require extreme optimization.
Database migrations with Flyway and LiquibaseLars Östling
This document discusses database migrations and compares the frameworks Flyway and Liquibase. It outlines the challenges of frequent database updates in agile development and how automated database migrations address this issue. Flyway and Liquibase are both open source Java frameworks that allow deterministic migrations from one database version to another. The document demonstrates each tool and highlights their differences, such as Flyway using SQL files versus Liquibase's XML format. It concludes with recommendations to migrate databases on startup and focus on processes over framework features.
This document discusses using ReactPHP as an event-driven and non-blocking I/O HTTP server with Symfony, a request-response PHP framework. ReactPHP runs the application event loop and handles requests without bootstrap code on each request, improving performance. Symfony is lightweight and supports modern practices. Benchmarks show ReactPHP with Symfony is faster than the default Symfony configuration with Apache and PHP-FPM. Some challenges are memory management, file uploads, and database interactions in long-running processes.
- Entity Framework 7.0 is a lean and composable framework distributed via NuGet packages that does not require the full .NET Framework. It supports additional data stores and is designed to be cross-platform.
- Some missing features in EF Core 1.0 include stored procedures, table valued functions, and complex types. The speaker will demonstrate EF Core.
- The presentation discusses the past, present, and future of Entity Framework and .NET data access frameworks. It provides an overview of Entity Framework 7 and some of its new capabilities.
Software analysts around the world anticipate a concept of "Reactive Programming" to have a great future in solving the problems of big data, high load and mobile applications. TypeSafe, the developers of Scala language, created a promising "reactive" framework Akka, written in Scala and yet Java-friendly. How could it be interesting for Java developers? Can Akka+Java compete with Akka+Scala? How Java8 can help with that? This presentations provides answers to these questions.
This presentation by Dmytro Mantula (Lead Software Engineer, GlobalLogic) was delivered at GlobalLogic Java Conference #2 in Krakow on April 23, 2016.
This presentation is also available in Russian: http://www.slideshare.net/GlobalLogicUkraine/take-a-look-at-akka-java
Transitioning From SQL Server to MySQL - Presentation from Percona Live 2016Dylan Butler
What if you were asked to support a database platform that you had never worked with before? First you would probably say no, but after you lost that fight, then what? That is exactly how I came to support MySQL. Over the last year my team has worked to learn MySQL, architect a production environment, and figure out how to support it alongside our other platforms (Microsoft SQL Server and Oracle). Along the way, I have also come to appreciate the unique offering of this platform and see it as an important part of our environment going forward.
To make things even more challenging, our first MySQL databases were the backend for a critical, web based application that needed to be highly available across multiple data centers. This meant that we did not have the luxury of standing up a simpler environment to start with and building confidence there. Our final architecture ended up using a five node Percona XtraDB Cluster spread across three data centers.
This session will focus on lessons learned along the way, as well as challenges related to supporting more than one database platforms. It should be interesting to anyone who is new to MySQL, anyone who is being asked to support more than one database platform, or anyone who wants to see how an outsider views the platform.
Discover the Capabilities of Windows Azure Service Bus to Power Agile Busines...Sergio Compean
This document provides an overview of Windows Azure Service Bus including:
- How it provides brokered messaging with queues and topics as well as relays for synchronous communication.
- How it uses AMQP 1.0 as a messaging protocol and supports multiple languages and platforms.
- How Notification Hubs can be used to send push notifications to multiple client platforms.
In this talk we will cover:
1. Using concurrency to maximize hardware (Elixir, Clojure, Haskell)
2. Serverless technologies for backend architecture (Amazon AWS Lambda, Microsoft Azure Cloud Functions)
3. BaaS – Backend as a Service (Google Firebase, etc)
The document summarizes the new features of Entity Framework 7, the next version of Microsoft's Entity Framework data access API. Key points include:
- EF7 is built on .NET Core and runs on multiple platforms like Windows, Linux and Mac. It supports both relational and non-relational data stores.
- The codebase has been completely rewritten and uses a provider model for different data stores. It is available on GitHub and supports providers like SQL Server, SQLite, PostgreSQL, and Azure Table Storage.
- Many existing features have been removed, like ObjectContext API, Entity SQL, and model-first approach. New features include support for additional platforms/providers and batching of CRUD operations.
Flyway: The agile database migration framework for JavaAxel Fontaine
The agile database migration framework for Java allows developers and DBAs to cooperatively manage database changes. Flyway provides commands to migrate databases between versions, allowing development and production databases to be aligned. It integrates with Java applications so database migrations run automatically on startup, keeping code and database structure in sync across environments.
This document provides an overview of key concepts in ASP.NET MVC including application folders, configuration files, the MVC pipeline, routing, and action method return types. It describes folders for views, controllers, models, scripts, images and more. Configuration files like BundleConfig, FilterConfig and RouteConfig are explained. The MVC request pipeline of routing, controller selection, model binding and view rendering is outlined. Routing and route parameters are also summarized. Finally, different action method return types such as ViewResult, JSONResult and ContentResult are introduced.
This document provides an overview and comparison of different client-server data access techniques in Visual FoxPro, including remote views, dynamic SQL pass-through, stored procedures, and cursor adapters. It evaluates these techniques based on categories like ease of use, performance/scalability, maintainability, flexibility, and security concerns. The document recommends choosing the best approach for each application and mixing techniques when necessary to achieve flexibility. It also encourages developers to be informed when selecting a data access strategy.
Effective cloud-ready apps with MicroProfilePayara
Presented during Payara Japan Tour 2019 (https://blog.payara.fish/payara-on-tour-in-japan).
In this session, you'll learn how to develop applications that evolve according to your needs, can easily run in the cloud and integrate with common cloud technologies. We'll start with a simple application, focusing on business logic. MicroProfile framework, powered by a lightweight opensource Payara Micro runtime, will get us started quickly and allow gradual improvements later.
MicroProfile contains a lot of components that make developers productive. It allows separating business logic from common concerns like configuration, failure-recovery, REST service calls, context propagation across service calls and securing services. Adding all of these to existing code is easy. It's also easy to introduce new microservices as needed and adopt cloud technologies as your application grows. I'll show you how, in a step-by-step demo. And if time allows, I'll also show how to run and scale your application effectively with Kubernetes in the cloud.
Telephony with OpenShift Twilio and MongoDBMark Atwood
This document discusses building telephony applications using MongoDB, OpenShift, and Twilio. It provides an overview of each technology and how they can be combined. Specifically, it describes a simple SMS group chat application hosted on OpenShift that uses Twilio for SMS capabilities and MongoDB for data storage. The document recommends best practices like using queuing to smooth load and storing data in a database rather than in the application instance.
Ambry is an open source object store that is responsible for storing all media content at Linkedin. This talk goes over development of Ambry at Linkedin and its architecture to some details.
Flyway is a light database migration tools:
- Migrate the database from a list of sql migration scripts (schemas and data).
- Each script is prefixed by a version number that determine the version of the database.
- The execution trace of the scripts is saved in a "schemas_version" table.
- Automatically find which scripts to execute to upgrate a database to a specific version.
Training on iOS app development - Samesh Swongamikha & Neetin SharmaMobileNepal
This document summarizes key concepts for iOS app development including design patterns like MVVM, communication patterns, databases like CoreData, networking using REST APIs and libraries like AFNetworking, memory management with ARC, and an introduction to the Swift programming language. Useful resources for iOS development are also provided.
Tommi Reiman discusses optimizing Clojure performance and abstractions. He shares lessons learned from optimizing middleware performance and JSON serialization. Data-driven approaches can enable high performance while maintaining abstraction. Reitit is a new routing library that aims to have the fastest performance through techniques like compiled routing data. Middleware can also benefit from data-driven approaches without runtime penalties. Overall performance should be considered but not obsessively, as many apps do not require extreme optimization.
Database migrations with Flyway and LiquibaseLars Östling
This document discusses database migrations and compares the frameworks Flyway and Liquibase. It outlines the challenges of frequent database updates in agile development and how automated database migrations address this issue. Flyway and Liquibase are both open source Java frameworks that allow deterministic migrations from one database version to another. The document demonstrates each tool and highlights their differences, such as Flyway using SQL files versus Liquibase's XML format. It concludes with recommendations to migrate databases on startup and focus on processes over framework features.
This document discusses using ReactPHP as an event-driven and non-blocking I/O HTTP server with Symfony, a request-response PHP framework. ReactPHP runs the application event loop and handles requests without bootstrap code on each request, improving performance. Symfony is lightweight and supports modern practices. Benchmarks show ReactPHP with Symfony is faster than the default Symfony configuration with Apache and PHP-FPM. Some challenges are memory management, file uploads, and database interactions in long-running processes.
- Entity Framework 7.0 is a lean and composable framework distributed via NuGet packages that does not require the full .NET Framework. It supports additional data stores and is designed to be cross-platform.
- Some missing features in EF Core 1.0 include stored procedures, table valued functions, and complex types. The speaker will demonstrate EF Core.
- The presentation discusses the past, present, and future of Entity Framework and .NET data access frameworks. It provides an overview of Entity Framework 7 and some of its new capabilities.
Software analysts around the world anticipate a concept of "Reactive Programming" to have a great future in solving the problems of big data, high load and mobile applications. TypeSafe, the developers of Scala language, created a promising "reactive" framework Akka, written in Scala and yet Java-friendly. How could it be interesting for Java developers? Can Akka+Java compete with Akka+Scala? How Java8 can help with that? This presentations provides answers to these questions.
This presentation by Dmytro Mantula (Lead Software Engineer, GlobalLogic) was delivered at GlobalLogic Java Conference #2 in Krakow on April 23, 2016.
This presentation is also available in Russian: http://www.slideshare.net/GlobalLogicUkraine/take-a-look-at-akka-java
Transitioning From SQL Server to MySQL - Presentation from Percona Live 2016Dylan Butler
What if you were asked to support a database platform that you had never worked with before? First you would probably say no, but after you lost that fight, then what? That is exactly how I came to support MySQL. Over the last year my team has worked to learn MySQL, architect a production environment, and figure out how to support it alongside our other platforms (Microsoft SQL Server and Oracle). Along the way, I have also come to appreciate the unique offering of this platform and see it as an important part of our environment going forward.
To make things even more challenging, our first MySQL databases were the backend for a critical, web based application that needed to be highly available across multiple data centers. This meant that we did not have the luxury of standing up a simpler environment to start with and building confidence there. Our final architecture ended up using a five node Percona XtraDB Cluster spread across three data centers.
This session will focus on lessons learned along the way, as well as challenges related to supporting more than one database platforms. It should be interesting to anyone who is new to MySQL, anyone who is being asked to support more than one database platform, or anyone who wants to see how an outsider views the platform.
Discover the Capabilities of Windows Azure Service Bus to Power Agile Busines...Sergio Compean
This document provides an overview of Windows Azure Service Bus including:
- How it provides brokered messaging with queues and topics as well as relays for synchronous communication.
- How it uses AMQP 1.0 as a messaging protocol and supports multiple languages and platforms.
- How Notification Hubs can be used to send push notifications to multiple client platforms.
In this talk we will cover:
1. Using concurrency to maximize hardware (Elixir, Clojure, Haskell)
2. Serverless technologies for backend architecture (Amazon AWS Lambda, Microsoft Azure Cloud Functions)
3. BaaS – Backend as a Service (Google Firebase, etc)
The document summarizes the new features of Entity Framework 7, the next version of Microsoft's Entity Framework data access API. Key points include:
- EF7 is built on .NET Core and runs on multiple platforms like Windows, Linux and Mac. It supports both relational and non-relational data stores.
- The codebase has been completely rewritten and uses a provider model for different data stores. It is available on GitHub and supports providers like SQL Server, SQLite, PostgreSQL, and Azure Table Storage.
- Many existing features have been removed, like ObjectContext API, Entity SQL, and model-first approach. New features include support for additional platforms/providers and batching of CRUD operations.
Flyway: The agile database migration framework for JavaAxel Fontaine
The agile database migration framework for Java allows developers and DBAs to cooperatively manage database changes. Flyway provides commands to migrate databases between versions, allowing development and production databases to be aligned. It integrates with Java applications so database migrations run automatically on startup, keeping code and database structure in sync across environments.
This document provides an overview of key concepts in ASP.NET MVC including application folders, configuration files, the MVC pipeline, routing, and action method return types. It describes folders for views, controllers, models, scripts, images and more. Configuration files like BundleConfig, FilterConfig and RouteConfig are explained. The MVC request pipeline of routing, controller selection, model binding and view rendering is outlined. Routing and route parameters are also summarized. Finally, different action method return types such as ViewResult, JSONResult and ContentResult are introduced.
This document provides an overview and comparison of different client-server data access techniques in Visual FoxPro, including remote views, dynamic SQL pass-through, stored procedures, and cursor adapters. It evaluates these techniques based on categories like ease of use, performance/scalability, maintainability, flexibility, and security concerns. The document recommends choosing the best approach for each application and mixing techniques when necessary to achieve flexibility. It also encourages developers to be informed when selecting a data access strategy.
Effective cloud-ready apps with MicroProfilePayara
Presented during Payara Japan Tour 2019 (https://blog.payara.fish/payara-on-tour-in-japan).
In this session, you'll learn how to develop applications that evolve according to your needs, can easily run in the cloud and integrate with common cloud technologies. We'll start with a simple application, focusing on business logic. MicroProfile framework, powered by a lightweight opensource Payara Micro runtime, will get us started quickly and allow gradual improvements later.
MicroProfile contains a lot of components that make developers productive. It allows separating business logic from common concerns like configuration, failure-recovery, REST service calls, context propagation across service calls and securing services. Adding all of these to existing code is easy. It's also easy to introduce new microservices as needed and adopt cloud technologies as your application grows. I'll show you how, in a step-by-step demo. And if time allows, I'll also show how to run and scale your application effectively with Kubernetes in the cloud.
Telephony with OpenShift Twilio and MongoDBMark Atwood
This document discusses building telephony applications using MongoDB, OpenShift, and Twilio. It provides an overview of each technology and how they can be combined. Specifically, it describes a simple SMS group chat application hosted on OpenShift that uses Twilio for SMS capabilities and MongoDB for data storage. The document recommends best practices like using queuing to smooth load and storing data in a database rather than in the application instance.
Introduction to Go programming language from PHP engineer's perspective.
The topic was presented at GetYourGuide’s internal tech talk. The original article can be found here: http://sobit.me/2016/02/25/go-from-php-engineers-perspective/
This document provides an overview of the basic components and new features of Zend Framework 2. Some key points include:
- ZF2 was started in 2010 and is currently in beta with regular releases following a "Gmail-style" cycle. It is developed on GitHub without a CLA.
- ZF2 aims to provide a modern, fast web framework that solves problems with ZF1 by being more flexible, improving performance, and utilizing PHP 5.3 features.
- New components include a modular system where each module solves a specific problem, and an event manager for aspect-oriented programming and attaching listeners to application events.
This document discusses dependency injection in Zend Framework 2. It defines dependency injection as components being given their dependencies through constructors, methods, or directly into fields. It provides examples of constructor injection, setter injection, and interface injection in PHP code. It also shows how Zend Framework's dependency injection component can be used to configure dependency injection and resolve dependencies and examples of using the setter method for dependency injection.
This document summarizes the process of transitioning a monolithic Symfony application to a service-oriented architecture (SOA). Key points include:
- Splitting the application into bundles that can each be deployed on their own machines for scalability.
- Using compiler passes to dynamically load bundles and their models, routes, and services.
- Generating code from database schemas and API documentation from annotations to reduce boilerplate code.
- Implementing a call router to allow services to communicate internally or externally across machines.
Scalable Event Analytics with MongoDB & Ruby on RailsJared Rosoff
The document discusses scaling event analytics applications using Ruby on Rails and MongoDB. It describes how the author's startup initially used a standard Rails architecture with MySQL, but ran into performance bottlenecks. It then explores solutions like replication, sharding, key-value stores and Hadoop, but notes the development challenges with each approach. The document concludes that using MongoDB provided scalable writes, flexible reporting and the ability to keep the application as "just a Rails app". MongoDB's sharding allows scaling to high concurrency levels with increased storage and transaction capacity across shards.
Under certain conditions, Symfony can be used successfully in a microservices architecture. Symfony works best when services start large and decompose over time into bounded contexts, rather than starting with many small services. Key considerations include using minimal Symfony configurations, domain-driven design principles to map services to contexts, handling failures through circuit breakers, and focusing on behavior-driven development and integration testing between services. While Symfony introduces more complexity than micro frameworks, these strategies can help address issues of over-decomposition when applying it to microservices.
Thrift vs Protocol Buffers vs Avro - Biased ComparisonIgor Anishchenko
Igor Anishchenko
Odessa Java TechTalks
Lohika - May, 2012
Let's take a step back and compare data serialization formats, of which there are plenty. What are the key differences between Apache Thrift, Google Protocol Buffers and Apache Avro. Which is "The Best"? Truth of the matter is, they are all very good and each has its own strong points. Hence, the answer is as much of a personal choice, as well as understanding of the historical context for each, and correctly identifying your own, individual requirements.
VisualWeb - Building a NodeJS Server Meshwork and Full-Javascript Stack Frame...itsatony
A series of slides about building a one-page-webapp framework and api called VisualWeb. We run two independent services on this full-javascript stack: meinunterricht.de and mylinkcloud.com .
we use nodejs, socket.io. hook.io, connect and mongodb to build hyperdynamic, desktop-like web experiences.
Kubernetes is making the promise of changing the datacenter from being a group of computer to "a computer" itself. This presentation outlines the new features in K8S with 1.1 and 1.2 release.
Build your own discovery index of scholary e-resourcesMartin Czygan
Providing discovery systems for eresourcesis essential for library services today.
Commercial search engine indices have been a widely used solution in recent years. In
contrast, running an own discovery service is undoubtedly a challenging task but promises
full control over data processing, enrichment, performance and quality. Building an own
aggregated index of eresourcesincludes gathering the right mix of data sources, clearing
licensing issues, and negotiating data availability. Technically, these threads are resumed by
data harvesters, filters and workflow orchestration tools.
IoT Service Bus - High availability with Internet of Things (IoT)/ API Rest/ ...Alexandre Brandão Lustosa
No dias 16 de novembro/2016, representando a Stone Pagamentos no cenário de desenvolvimento, o Gestor de TI e Arquiteto de Sistemas Alexandre Brandão ministrou uma importante palestra no evento CompusulMT na UFMT - Universidade Federal do Estado do Mato Grosso na cidade de Rondonópolis abordando o seguinte tema: IoT Service Bus - High availability with Internet of Things (IoT)/ API Rest/ Message Broker
Geosophic is a platform of online services for mobile games. It offers both user engagement features (such as leaderboards and achievements) and analytics.
In this talk I would like to share with you our experience building this platform with Grails with the goal to support a big load. I’ll focus on the system architecture, the problems we have found and how we are solving them.
Toward Hybrid Cloud Serverless Transparency with Lithops FrameworkLibbySchulze
The document describes using the Lithops framework to simplify serverless data pre-processing of images by extracting faces and aligning them. Lithops allows processing millions of images located in different storage locations in a serverless manner without having to write boilerplate code to access storage or partition data. It handles parallel execution, data access, and coordination to run a user-defined function that pre-processes each image on remote servers near the data. This avoids having to move large amounts of data and allows leveraging serverless cloud compute resources to speed up processing times significantly compared to running everything locally.
EclipseCon 2016 - OCCIware : one Cloud API to rule them allMarc Dutoo
This document provides an overview of OCCIware, a project that aims to create a cloud consumer platform using the Open Cloud Computing Interface (OCCI) standard. It discusses the need for such a platform given the fragmented state of existing cloud solutions. OCCIware takes a model-driven engineering approach, using Eclipse modeling tools to generate an OCCI extension, designer, and runtime configuration from a domain model. The document demonstrates using these tools to model a Linked Data application and deploy its configuration to Docker. Upcoming work on OCCIware includes improving existing generators, integrating additional capabilities like simulation, and contributing back to the OCCI standard.
OCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open WideOCCIware
Hear hear dev & ops alike - ever got bitten by the fragmentation of the Cloud space at deployment time, By AWS vs Azure, Open Shift vs Heroku ? in a word, ever dreamt of configuring at once your Cloud application along with both its VMs and database ? Well, the extensible Open Cloud Computing Interface (OCCI) REST API (see http://occi-wg.org/) allows just that, by addressing the whole XaaS spectrum.
And now, OCCI is getting powerboosted by Eclipse Modeling and formal foundations. Enter Cloud Designer and other outputs of the OCCIware project (See http://www.occiware.org) : multiple visual representations, one per Cloud layer and technology. XaaS Cloud extension model validation, documentation & ops scripting generation. Simulation, decision-making comparison. Connectors that bring those models to life by getting their status from common Cloud services. Runtime middleware, deployed, monitored, adminstrated. And tackling the very interesting challenge of modeling a meta API in EMF's metamodel, while staying true to EMF, Eclipse tools and the OCCI standard.
Featuring Eclipse Sirius, Acceleo generators, EMF at runtime. Coming soon to a new Eclipse Foundation project near you, if so you'd like.
This talk includes a demonstration of the Docker connector and of how to use Cloud Designer to configure a simple Cloud application's deployment on the Roboconf PaaS system and OpenStack infrastructure.
The large O’Reilly survey on serverless adoption indicated that the majority of enterprises have not yet adopted serverless. They have cited the following concerns as main factors: security, the steep learning curve, vendor lock-in, integration/debugging and observability of serverless applications.
In this talk, I will share my views on these concerns and present how Waylay IO has addressed these challenges. Waylay IO’s mission is to finally unlock all promised benefits of serverless computation, with an intuitive and developer-friendly low-code platform.
Microservices, Kubernetes and Istio - A Great Fit!Animesh Singh
Microservices and containers are now influencing application design and deployment patterns. Sixty percent of all new applications will use cloud-enabled continuous delivery microservice architectures and containers. Service discovery, registration, and routing are fundamental tenets of microservices. Kubernetes provides a platform for running microservices. Kubernetes can be used to automate the deployment of Microservices and leverage features such as Kube-DNS, Config Maps, and Ingress service for managing those microservices. This configuration works fine for deployments up to a certain size. However, with complex deployments consisting of a large fleet of microservices, additional features are required to augment Kubernetes.
Apache Kafka® Delivers a Single Source of Truth for The New York Timesconfluent
The New York Times stores every piece of content it has ever published in Apache Kafka. It takes a log-based approach where all content is published as events to a central "Monolog" topic in Kafka. This log becomes the single source of truth, and all applications consume from the log. The content is stored in Kafka as Protobuf messages with a well-defined schema. A separate "Skinny Log" topic contains notifications that content was processed, to enable caching and track service level objectives. This log-based architecture aims to decouple producers and consumers of content and make the system more flexible and scalable.
original (better quality) on https://docs.google.com/presentation/d/1bnwj8CrFGo5KekONYSeIHySdkoXZiewJxkHcZjXnzkQ/
slides from OpenDaylight Summit Oct 2016 Seattle
Every single developer heard this say more than one time during his professional career, 'KIS' which means 'Keep It Simple', however with the excessive evolvement of the web computing and the continues rise of the distributed systems, the complexity of the systems architecture increases. Building a server enterprise application which is highly scalable with high and reliable availability in addition to great performance which consists of set of independent deployable oriented services can be achieved by Microservice architecture. This session introduces briefly what is the Microservice Architecture and how to build it using one of the most popular server programming languages which is called Go or Golang.
Robust MLOps with Open-Source: ModelDB, Docker, Jenkins, and PrometheusManasi Vartak
These are slides from Manasi Vartak's Strata Talk in March 2020 on Robust MLOps with Open-Source.
* Introduction to talk
* What is MLOps?
* Building an MLOps Pipeline
* Real-world Simulations
* Let’s fix the pipeline
* Wrap-up
APIdays Barcelona 2019 - How to build a social network on Serverless with Yan...apidays
This document discusses how to build a social network using serverless architecture. It outlines reasons for using a serverless approach, including delivering better user experiences faster, delivering value faster, and being more cost efficient. It then describes how to build a social network serverlessly using microservices, event-driven architecture, and AWS Lambda. It provides examples of challenges overcome and benefits realized by a company that migrated an existing social network to serverless.
How to build a social network on serverlessYan Cui
Many people are building different workloads using serverless technologies these days, but how would a non-trivial system such as a social network look like on serverless?
In this talk Yan will discuss his journey of migrating a social network startup to serverless, and how his team was able to improve performance, scalability and feature delivery using serverless technologies.
Yan will discuss how serverless technologies such as Lambda are used to implement each part of their system, including search, push notifications, timeline, user recommendations, and business intelligence. If you're wondering how serverless can be used to solve a wide variety of challenges in your business, this is the talk for you.
KubeCon CloudNativeCon Seattle 2019 Recap - General overview and also summary of some of the application deployment track (App sig, Operator Framework, Helm, Kustomize, CNAB).
Introduction- e - waste – definition - sources of e-waste– hazardous substances in e-waste - effects of e-waste on environment and human health- need for e-waste management– e-waste handling rules - waste minimization techniques for managing e-waste – recycling of e-waste - disposal treatment methods of e- waste – mechanism of extraction of precious metal from leaching solution-global Scenario of E-waste – E-waste in India- case studies.
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODELijaia
As digital technology becomes more deeply embedded in power systems, protecting the communication
networks of Smart Grids (SG) has emerged as a critical concern. Distributed Network Protocol 3 (DNP3)
represents a multi-tiered application layer protocol extensively utilized in Supervisory Control and Data
Acquisition (SCADA)-based smart grids to facilitate real-time data gathering and control functionalities.
Robust Intrusion Detection Systems (IDS) are necessary for early threat detection and mitigation because
of the interconnection of these networks, which makes them vulnerable to a variety of cyberattacks. To
solve this issue, this paper develops a hybrid Deep Learning (DL) model specifically designed for intrusion
detection in smart grids. The proposed approach is a combination of the Convolutional Neural Network
(CNN) and the Long-Short-Term Memory algorithms (LSTM). We employed a recent intrusion detection
dataset (DNP3), which focuses on unauthorized commands and Denial of Service (DoS) cyberattacks, to
train and test our model. The results of our experiments show that our CNN-LSTM method is much better
at finding smart grid intrusions than other deep learning algorithms used for classification. In addition,
our proposed approach improves accuracy, precision, recall, and F1 score, achieving a high detection
accuracy rate of 99.50%.
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...IJECEIAES
Climate change's impact on the planet forced the United Nations and governments to promote green energies and electric transportation. The deployments of photovoltaic (PV) and electric vehicle (EV) systems gained stronger momentum due to their numerous advantages over fossil fuel types. The advantages go beyond sustainability to reach financial support and stability. The work in this paper introduces the hybrid system between PV and EV to support industrial and commercial plants. This paper covers the theoretical framework of the proposed hybrid system including the required equation to complete the cost analysis when PV and EV are present. In addition, the proposed design diagram which sets the priorities and requirements of the system is presented. The proposed approach allows setup to advance their power stability, especially during power outages. The presented information supports researchers and plant owners to complete the necessary analysis while promoting the deployment of clean energy. The result of a case study that represents a dairy milk farmer supports the theoretical works and highlights its advanced benefits to existing plants. The short return on investment of the proposed approach supports the paper's novelty approach for the sustainable electrical system. In addition, the proposed system allows for an isolated power setup without the need for a transmission line which enhances the safety of the electrical network
Applications of artificial Intelligence in Mechanical Engineering.pdfAtif Razi
Historically, mechanical engineering has relied heavily on human expertise and empirical methods to solve complex problems. With the introduction of computer-aided design (CAD) and finite element analysis (FEA), the field took its first steps towards digitization. These tools allowed engineers to simulate and analyze mechanical systems with greater accuracy and efficiency. However, the sheer volume of data generated by modern engineering systems and the increasing complexity of these systems have necessitated more advanced analytical tools, paving the way for AI.
AI offers the capability to process vast amounts of data, identify patterns, and make predictions with a level of speed and accuracy unattainable by traditional methods. This has profound implications for mechanical engineering, enabling more efficient design processes, predictive maintenance strategies, and optimized manufacturing operations. AI-driven tools can learn from historical data, adapt to new information, and continuously improve their performance, making them invaluable in tackling the multifaceted challenges of modern mechanical engineering.
Null Bangalore | Pentesters Approach to AWS IAMDivyanshu
#Abstract:
- Learn more about the real-world methods for auditing AWS IAM (Identity and Access Management) as a pentester. So let us proceed with a brief discussion of IAM as well as some typical misconfigurations and their potential exploits in order to reinforce the understanding of IAM security best practices.
- Gain actionable insights into AWS IAM policies and roles, using hands on approach.
#Prerequisites:
- Basic understanding of AWS services and architecture
- Familiarity with cloud security concepts
- Experience using the AWS Management Console or AWS CLI.
- For hands on lab create account on [killercoda.com](https://killercoda.com/cloudsecurity-scenario/)
# Scenario Covered:
- Basics of IAM in AWS
- Implementing IAM Policies with Least Privilege to Manage S3 Bucket
- Objective: Create an S3 bucket with least privilege IAM policy and validate access.
- Steps:
- Create S3 bucket.
- Attach least privilege policy to IAM user.
- Validate access.
- Exploiting IAM PassRole Misconfiguration
-Allows a user to pass a specific IAM role to an AWS service (ec2), typically used for service access delegation. Then exploit PassRole Misconfiguration granting unauthorized access to sensitive resources.
- Objective: Demonstrate how a PassRole misconfiguration can grant unauthorized access.
- Steps:
- Allow user to pass IAM role to EC2.
- Exploit misconfiguration for unauthorized access.
- Access sensitive resources.
- Exploiting IAM AssumeRole Misconfiguration with Overly Permissive Role
- An overly permissive IAM role configuration can lead to privilege escalation by creating a role with administrative privileges and allow a user to assume this role.
- Objective: Show how overly permissive IAM roles can lead to privilege escalation.
- Steps:
- Create role with administrative privileges.
- Allow user to assume the role.
- Perform administrative actions.
- Differentiation between PassRole vs AssumeRole
Try at [killercoda.com](https://killercoda.com/cloudsecurity-scenario/)
Embedded machine learning-based road conditions and driving behavior monitoringIJECEIAES
Car accident rates have increased in recent years, resulting in losses in human lives, properties, and other financial costs. An embedded machine learning-based system is developed to address this critical issue. The system can monitor road conditions, detect driving patterns, and identify aggressive driving behaviors. The system is based on neural networks trained on a comprehensive dataset of driving events, driving styles, and road conditions. The system effectively detects potential risks and helps mitigate the frequency and impact of accidents. The primary goal is to ensure the safety of drivers and vehicles. Collecting data involved gathering information on three key road events: normal street and normal drive, speed bumps, circular yellow speed bumps, and three aggressive driving actions: sudden start, sudden stop, and sudden entry. The gathered data is processed and analyzed using a machine learning system designed for limited power and memory devices. The developed system resulted in 91.9% accuracy, 93.6% precision, and 92% recall. The achieved inference time on an Arduino Nano 33 BLE Sense with a 32-bit CPU running at 64 MHz is 34 ms and requires 2.6 kB peak RAM and 139.9 kB program flash memory, making it suitable for resource-constrained embedded systems.
Software Engineering and Project Management - Software Testing + Agile Method...Prakhyath Rai
Software Testing: A Strategic Approach to Software Testing, Strategic Issues, Test Strategies for Conventional Software, Test Strategies for Object -Oriented Software, Validation Testing, System Testing, The Art of Debugging.
Agile Methodology: Before Agile – Waterfall, Agile Development.
AI for Legal Research with applications, toolsmahaffeycheryld
AI applications in legal research include rapid document analysis, case law review, and statute interpretation. AI-powered tools can sift through vast legal databases to find relevant precedents and citations, enhancing research accuracy and speed. They assist in legal writing by drafting and proofreading documents. Predictive analytics help foresee case outcomes based on historical data, aiding in strategic decision-making. AI also automates routine tasks like contract review and due diligence, freeing up lawyers to focus on complex legal issues. These applications make legal research more efficient, cost-effective, and accessible.
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...shadow0702a
This document serves as a comprehensive step-by-step guide on how to effectively use PyCharm for remote debugging of the Windows Subsystem for Linux (WSL) on a local Windows machine. It meticulously outlines several critical steps in the process, starting with the crucial task of enabling permissions, followed by the installation and configuration of WSL.
The guide then proceeds to explain how to set up the SSH service within the WSL environment, an integral part of the process. Alongside this, it also provides detailed instructions on how to modify the inbound rules of the Windows firewall to facilitate the process, ensuring that there are no connectivity issues that could potentially hinder the debugging process.
The document further emphasizes on the importance of checking the connection between the Windows and WSL environments, providing instructions on how to ensure that the connection is optimal and ready for remote debugging.
It also offers an in-depth guide on how to configure the WSL interpreter and files within the PyCharm environment. This is essential for ensuring that the debugging process is set up correctly and that the program can be run effectively within the WSL terminal.
Additionally, the document provides guidance on how to set up breakpoints for debugging, a fundamental aspect of the debugging process which allows the developer to stop the execution of their code at certain points and inspect their program at those stages.
Finally, the document concludes by providing a link to a reference blog. This blog offers additional information and guidance on configuring the remote Python interpreter in PyCharm, providing the reader with a well-rounded understanding of the process.
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...IJECEIAES
Medical image analysis has witnessed significant advancements with deep learning techniques. In the domain of brain tumor segmentation, the ability to
precisely delineate tumor boundaries from magnetic resonance imaging (MRI)
scans holds profound implications for diagnosis. This study presents an ensemble convolutional neural network (CNN) with transfer learning, integrating
the state-of-the-art Deeplabv3+ architecture with the ResNet18 backbone. The
model is rigorously trained and evaluated, exhibiting remarkable performance
metrics, including an impressive global accuracy of 99.286%, a high-class accuracy of 82.191%, a mean intersection over union (IoU) of 79.900%, a weighted
IoU of 98.620%, and a Boundary F1 (BF) score of 83.303%. Notably, a detailed comparative analysis with existing methods showcases the superiority of
our proposed model. These findings underscore the model’s competence in precise brain tumor localization, underscoring its potential to revolutionize medical
image analysis and enhance healthcare outcomes. This research paves the way
for future exploration and optimization of advanced CNN models in medical
imaging, emphasizing addressing false positives and resource efficiency.
VARIABLE FREQUENCY DRIVE. VFDs are widely used in industrial applications for...PIMR BHOPAL
Variable frequency drive .A Variable Frequency Drive (VFD) is an electronic device used to control the speed and torque of an electric motor by varying the frequency and voltage of its power supply. VFDs are widely used in industrial applications for motor control, providing significant energy savings and precise motor operation.
Rainfall intensity duration frequency curve statistical analysis and modeling...bijceesjournal
Using data from 41 years in Patna’ India’ the study’s goal is to analyze the trends of how often it rains on a weekly, seasonal, and annual basis (1981−2020). First, utilizing the intensity-duration-frequency (IDF) curve and the relationship by statistically analyzing rainfall’ the historical rainfall data set for Patna’ India’ during a 41 year period (1981−2020), was evaluated for its quality. Changes in the hydrologic cycle as a result of increased greenhouse gas emissions are expected to induce variations in the intensity, length, and frequency of precipitation events. One strategy to lessen vulnerability is to quantify probable changes and adapt to them. Techniques such as log-normal, normal, and Gumbel are used (EV-I). Distributions were created with durations of 1, 2, 3, 6, and 24 h and return times of 2, 5, 10, 25, and 100 years. There were also mathematical correlations discovered between rainfall and recurrence interval.
Findings: Based on findings, the Gumbel approach produced the highest intensity values, whereas the other approaches produced values that were close to each other. The data indicates that 461.9 mm of rain fell during the monsoon season’s 301st week. However, it was found that the 29th week had the greatest average rainfall, 92.6 mm. With 952.6 mm on average, the monsoon season saw the highest rainfall. Calculations revealed that the yearly rainfall averaged 1171.1 mm. Using Weibull’s method, the study was subsequently expanded to examine rainfall distribution at different recurrence intervals of 2, 5, 10, and 25 years. Rainfall and recurrence interval mathematical correlations were also developed. Further regression analysis revealed that short wave irrigation, wind direction, wind speed, pressure, relative humidity, and temperature all had a substantial influence on rainfall.
Originality and value: The results of the rainfall IDF curves can provide useful information to policymakers in making appropriate decisions in managing and minimizing floods in the study area.
2. Who we are
•Carlos Agudo (@karloslupus)
•Joseluis Laso (@jl_laso)
And Others.. (Spanish team)
• Petar Georgiev (@pgkirilov)
• Daniel Abad (@ruudy_es)
• Noel García (@wolfwolker)
• Joaquín Fernández Campo
(@xocas__)
• Miguel Vilata
(@miguelvilata)
4. What is Digilant
DSP: Demand Side Platform => programmatic
advertising.
We have a backend to configure ours RTB bidder(s)
architecture.
• A programmatic campaign can have thousands of
parameters.
9. Yes Symfony 2-3
Bundle: “A bundle is simply a structured set of files within a
directory that implement a single feature. “
-- We can split services as bundles, and start here.
This sounds weird??
Uncle Bob: “Don't leap into microservices just because it
sounds cool. Segregate the system into jars using a plugin
architecture first. If that's not sufficient, then consider
introducing service boundaries at strategic points.”
10. Some Questions arose
• One repo? One per service orchestrated with composer?
• One repo, let’s split it later, and coordinate with composer
later. (easier to develop)
• One Db per service? One db for the whole project, with
soft-relations between services?
• One Db for the whole project, let’s split it later. (easier to
develop??, careful with soft-relations, lost of referential
integrity)
14. Service- Machine
We can create as many services-machine as we want.
Depending on demand. We can cook them!!
Fully elastic scalability.
LineItem Service - Machine
LineItem Core
LineItem- Campaign - Machine
LineItem
Campaign
Core
15. Cooking Process 1
Using ansistrano (ansible), in each deploy, we can
select how many bundles a machine have.
Machine A- Geo and Creatives Machine B- All services but Pixel
16. Cooking Process 2
We need to dynamically load, our “bundles-service” on
deploy, our models, our routings, etc..
A lot of magic happens here!
Compiler pass to the rescue!
17. Cooking Process 3
In our AppKernel.php. We have the LocateBundles (utility
class) in a CoreBundle
18. Core Bundle
We have a CoreBundle, that act as a glue, (Compiler
passes)
• Communication between services (Can be http-
external, http-internal, process) We have a call
Router. API-REST, that’s why http-internal or external
• Some bussines event listeners (a filter for accounts,
softdelete, audit db listener)
• User-Permission Model
19. Models 1
In order to don’t get coupled to the persistence
implementation (Doctrine), don’t use annotations for
defining the model, map in an xml:
20. Models 2
We want to use our own folders:
Base?? We will explain it later, we have an
autogenerator of code.
21. Models 3
Compiler Pass to Load Models in our own folders.
We pass through our bundles, and
load models, in our folders.
The key:
DoctrineOrmMappingPass
We also use an alias:
LineItem:ThirdPartyData
Geo:City
ServiceName:Model
22. Others Compilers Passes
Here we load our services
(symfony) in each Bundle.
Also Lists calls (api-rest list
call, defaults limit per
model, orderby etc..)
25. A lot of CRUD tables-controllers
We have a lot of master-
admin tables.
We have a RestController
for this purpose.
Controversy:
- We have a lot of
classes child of this
one.
- Needs refactor in
services!
27. Generator of code
Once upon a time …
We had time and we were youngs :) and we decide to
invest time creating a code generator to make our life
easier … you know ? developers ... this lazy race
With a lot of database schemas per create we thought
that was a good idea to convert this MWB files
directly in code … and was a really nightmare ...
28. Code generator (AKA mwb-import)
But … it worked
MWB file
it’s a ZIP
xml
sqlite
etc ..
unzip
generate
code with twig
generate
fixtures
31. ApiDoc documentation generator
But not only generates documentation.
Why don’t use annotations to generate automatic
documentation of API routes ?
There are a couple of bundles in the market that do
this.
Again … we thought that we can do better.
36. Call Router
How to make a call to a service that you even know
where is ?
LineItem Service - Machine
LineItem Core
LineItem- Campaign - Machine
LineItem
Campaign
Core
37. Call Router
How to call a controller method if you don’t know
where exactly is ?
Remember, we can deploy to n-servers …
To solve that we created a CallRouter that makes the
call internally (if the server has the service required)
or makes the call external (guzzle) if the service is in
another server.