The document discusses the EXPath Webapp module, which defines a web container for deploying web applications written in XML technologies like XSLT, XQuery, and XProc. It presents CXAN, a website implemented using the Webapp module and Servlex framework. CXAN functions as a central repository for sharing XML packages. The document also covers how to build web applications from scratch that can be deployed in a Webapp container like Servlex.
Experiences with Evangelizing Java Within the DatabaseMarcelo Ochoa
The document discusses experiences with evangelizing the use of Java within Oracle databases. It provides a timeline of Java support in Oracle databases from 8i to 12c. It describes developing, testing, and deploying database-resident Java applications. Examples discussed include a content management system and RESTful web services implemented as stored procedures, as well as the Scotas OLS product for embedded Solr search. The conclusion covers challenges with open source projects, impedance mismatch between databases and Java, and lack of overlap between skillsets.
Tomcat is an open-source servlet container developed by the Apache Software Foundation that implements Java Servlet and JavaServer Pages technologies. It is written in Java and can run on several operating systems. Tomcat allows developers to deploy web applications and services built using Java technologies. The document provides examples of using servlets and JSPs with Tomcat and describes how to configure and deploy web applications on Tomcat.
All OpenCms versions so far have relied on a relational SQL database as the backbone of the content repository. However, new requirements are emerging, such as distributed repositories with automatic installation in the cloud, which are difficult to meet using the existing database infrastructure.
Alkacon has been investigating the possibility to switch to a new repository technology for future OpenCms versions that come after 10.5 for about a year now. The new repository should be based on state-of-the-art open source components and provide much better cloud and clustering support. In recent months, Alkacon has started with the implementation of this next generation repository. First results are in, and they look promising.
M|18 Why Abstract Away the Underlying Database InfrastructureMariaDB plc
MariaDB MaxScale is a database proxy that abstracts away the underlying database infrastructure. It provides a single logical view of the database even if it is physically distributed as a cluster. This simplifies application development and management. It also provides high availability through failure tolerance and load balancing for better performance. MaxScale uses monitors to detect the cluster topology and status, classifiers to understand queries, and routers to direct traffic, hiding the physical infrastructure and enabling horizontal scalability. Filters can further extend its functionality such as for caching, analytics, or patching SQL. Overall, MaxScale abstracts database clusters to make them easier to use while preserving high performance and availability.
Introduction to concurrent programming with Akka actorsShashank L
This document provides an introduction to concurrent programming with Akka Actors. It discusses concurrency and parallelism, how the end of Moore's Law necessitated a shift to concurrent programming, and introduces key concepts of actors including message passing concurrency, actor systems, actor operations like create and send, routing, supervision, configuration and testing. Remote actors are also discussed. Examples are provided in Scala.
Implicit parameters and implicit conversions are Scala language features that allow omitting explicit calls to methods or variables. Implicits enable concise and elegant code through features like dependency injection, context passing, and ad hoc polymorphism. Implicits resolve types at compile-time rather than runtime. While powerful, implicits can cause conflicts and slow compilation if overused. Frameworks like Scala collections, Spark, and Spray JSON extensively use implicits to provide type classes and conversions between Scala and Java types.
This document discusses Lyft's use of DynamoDB change logs to ingest real-time data into Elasticsearch. It describes how Flink jobs are used to stream data from DynamoDB streams to Kafka and then from Kafka to Elasticsearch. It addresses challenges like handling 429 errors from Elasticsearch and access control using VPC security groups. Finally, it discusses how the pipeline was designed to allow seamless upgrades of Elasticsearch without downtime by buffering changes in Kafka during migration.
OpenCms 10 is not even finished, but Alkacon is already forming concrete plans about OpenCms 11. The most important aspect for OpenCms 11 will be a new repository architecture. This new repository should be based on state-of-the-art open source components and provide much better cloud and clustering support, also solving a number of issues of the current VFS implementation.
In this session the design principles that guide the new repository architecture will be explained. Use cases where the current repository falls short will be shown, and how these should be improved in a new repository will be explained.
It has already been developed a working proof of concept for a new repository that already solves many of the challenges mentioned earlier. This prototype will be demonstarted and the technology behind it will be explained.
A new repository architecture for OpenCms 11 will most likely mean a departure from the database stack used for the repository up until OpenCms 10. This will effect backward compatibility.
Experiences with Evangelizing Java Within the DatabaseMarcelo Ochoa
The document discusses experiences with evangelizing the use of Java within Oracle databases. It provides a timeline of Java support in Oracle databases from 8i to 12c. It describes developing, testing, and deploying database-resident Java applications. Examples discussed include a content management system and RESTful web services implemented as stored procedures, as well as the Scotas OLS product for embedded Solr search. The conclusion covers challenges with open source projects, impedance mismatch between databases and Java, and lack of overlap between skillsets.
Tomcat is an open-source servlet container developed by the Apache Software Foundation that implements Java Servlet and JavaServer Pages technologies. It is written in Java and can run on several operating systems. Tomcat allows developers to deploy web applications and services built using Java technologies. The document provides examples of using servlets and JSPs with Tomcat and describes how to configure and deploy web applications on Tomcat.
All OpenCms versions so far have relied on a relational SQL database as the backbone of the content repository. However, new requirements are emerging, such as distributed repositories with automatic installation in the cloud, which are difficult to meet using the existing database infrastructure.
Alkacon has been investigating the possibility to switch to a new repository technology for future OpenCms versions that come after 10.5 for about a year now. The new repository should be based on state-of-the-art open source components and provide much better cloud and clustering support. In recent months, Alkacon has started with the implementation of this next generation repository. First results are in, and they look promising.
M|18 Why Abstract Away the Underlying Database InfrastructureMariaDB plc
MariaDB MaxScale is a database proxy that abstracts away the underlying database infrastructure. It provides a single logical view of the database even if it is physically distributed as a cluster. This simplifies application development and management. It also provides high availability through failure tolerance and load balancing for better performance. MaxScale uses monitors to detect the cluster topology and status, classifiers to understand queries, and routers to direct traffic, hiding the physical infrastructure and enabling horizontal scalability. Filters can further extend its functionality such as for caching, analytics, or patching SQL. Overall, MaxScale abstracts database clusters to make them easier to use while preserving high performance and availability.
Introduction to concurrent programming with Akka actorsShashank L
This document provides an introduction to concurrent programming with Akka Actors. It discusses concurrency and parallelism, how the end of Moore's Law necessitated a shift to concurrent programming, and introduces key concepts of actors including message passing concurrency, actor systems, actor operations like create and send, routing, supervision, configuration and testing. Remote actors are also discussed. Examples are provided in Scala.
Implicit parameters and implicit conversions are Scala language features that allow omitting explicit calls to methods or variables. Implicits enable concise and elegant code through features like dependency injection, context passing, and ad hoc polymorphism. Implicits resolve types at compile-time rather than runtime. While powerful, implicits can cause conflicts and slow compilation if overused. Frameworks like Scala collections, Spark, and Spray JSON extensively use implicits to provide type classes and conversions between Scala and Java types.
This document discusses Lyft's use of DynamoDB change logs to ingest real-time data into Elasticsearch. It describes how Flink jobs are used to stream data from DynamoDB streams to Kafka and then from Kafka to Elasticsearch. It addresses challenges like handling 429 errors from Elasticsearch and access control using VPC security groups. Finally, it discusses how the pipeline was designed to allow seamless upgrades of Elasticsearch without downtime by buffering changes in Kafka during migration.
OpenCms 10 is not even finished, but Alkacon is already forming concrete plans about OpenCms 11. The most important aspect for OpenCms 11 will be a new repository architecture. This new repository should be based on state-of-the-art open source components and provide much better cloud and clustering support, also solving a number of issues of the current VFS implementation.
In this session the design principles that guide the new repository architecture will be explained. Use cases where the current repository falls short will be shown, and how these should be improved in a new repository will be explained.
It has already been developed a working proof of concept for a new repository that already solves many of the challenges mentioned earlier. This prototype will be demonstarted and the technology behind it will be explained.
A new repository architecture for OpenCms 11 will most likely mean a departure from the database stack used for the repository up until OpenCms 10. This will effect backward compatibility.
The document provides an overview of Akka HTTP, streams, and routes. It discusses core concepts like streams, elements, back-pressure, sources, sinks, flows, and runnable graphs. It explains that routes define the request handling logic and are assembled into routing trees. Routes can complete requests, reject them, or perform asynchronous processing and return route results.
Apache James provides a set of Java libraries and components for building email servers and applications, including a full-featured mail server. It includes utilities and libraries for common email tasks like parsing, filtering, storage, protocols, and more. These components are flexible, extensible, and can be used independently or together to power full email solutions.
This document discusses distributed and highly available server applications built in Java and Scala. It describes an architecture using lightweight microservices called Talkbits that communicate over the Finagle distributed RPC framework. Key principles for Talkbits include stateless services, service discovery with Zookeeper, and functional composition of RPC calls. The document also covers configuration, deployment, logging, metrics collection and monitoring of the distributed system using tools like Loggly, CodaHale, Jolokia, Datadog, and Fabric.
(ATS6-DEV06) Using Packages for Protocol, Component, and Application DeliveryBIOVIA
Delivering protocols, components, and applications to users and other developers on an AEP server can be very challenging. Accelrys delivers the majority of its AEP services in the form of packages. This talk will discuss the methods that anyone can use to deliver bundled applications in the form of packages and the benefits of doing so. The discussion will include how to create packages, modifying existing packages, deploying packages to servers, and tools that can be used for ensuring the quality of the packages.
The document discusses Apache James, an open source Java mail server project. It introduces the James mail server and its components, as well as related projects like Hupa, a webmail client built with GWT. It provides details on the architecture and status of Hupa, and outlines ways for developers to get involved and contribute to open source projects like Apache James.
1. The document discusses Discngine's Tibco Spotfire Pipeline Pilot connector, which allows graphs stored in Pipeline Pilot to be accessed and visualized in Spotfire.
2. It describes the architecture of the connector and how it executes Pipeline Pilot protocols to generate HTML pages for visualization in Spotfire.
3. Challenges in integrating the large Spotfire API and synchronizing client and server datasets are also discussed.
HBaseConEast2016: Coprocessors – Uses, Abuses and SolutionsMichael Stack
This document discusses coprocessors in HBase, which allow custom Java code to run on region servers. It describes common uses of coprocessors like filtering and aggregation. However, coprocessors can also crash region servers if exceptions are not caught properly or hog memory resources. The document provides solutions to these problems like catching all exceptions and using defensive coding practices. It also discusses challenges with deploying and removing coprocessors and potential abuses if not whitelisted properly.
Developed for the Denver Art Museum by Ashley Blewer, this slide-deck covers some of the basics of diagnosing issues with Archivematica. Ashley covers everything from the software components involved with Archivematica, to monitoring logs, system monitoring, and upgrading your system. The presentation concludes with some useful links for tech-savvy preservationists, and Archivematica-unfamiliar system's administrators!
Archivematica is an open source digital preservation system. The document discusses Archivematica's APIs, which allow programmatic interaction with its functions. It provides examples of starting transfers, checking statuses, and downloading packages using the APIs and tools like cURL and AMClient.py. The document also explains some Archivematica terminology and concepts related to its APIs.
Introduction to Akka-streams and Akka-http.
We show how simple it becomes to build an application that streams geolocated events in a time-consistent way on a websocket, with back-pressure propagated to the upstream.
Code can be found at
https://github.com/pierangeloc/reactive-earthquakes
Developed for DANS-KNAW. This presentation covers some of the fundamentals of the automation-tools. Helper scripts for automation of transfers in Archivematica. Designed to complement the API slide-deck, the two resources can probably be consumed in any order. Knowing the API will help you understand the automation-tools, but knowing the automation-tools may help you understand what you want to create using the API.
API slide-deck here: https://www.slideshare.net/Archivematica/introduction-to-the-archivematica-api-september-2018-122548752
Introduction to Gatling performance testing tool and how we used it for testing Zonky's REST API. Example of running distributed performance tests in AWS Fargate with real-time monitoring with Logstash/ElasticSearch/Kibana stack.
This document summarizes a workshop on migrating from Oracle to PostgreSQL. It discusses migrating the database, including getting Oracle and PostgreSQL instances, understanding how applications interact with databases, and using the ora2pg tool to migrate the database schema and data from Oracle to PostgreSQL.
The document provides an overview and agenda for a presentation on the BlackRay database. It summarizes BlackRay's history and capabilities, positions it relative to other projects, and outlines the team and roadmap. The presentation covers BlackRay's architecture, APIs, management features, clustering support, and roadmap for future improvements.
The document discusses new features in Apache HTTP Server (httpd) version 2.4 and Apache Tomcat versions 7 and 8. Some key improvements in httpd 2.4 include better performance, optimizations to make it "cloud ready" with asynchronous I/O and a new multi-processing module. Tomcat 7 offers Servlet 3.0 compliance and improved startup time. Tomcat 8 features Servlet 3.1 with non-blocking I/O, HTTP protocol upgrades, and support for SPDY and web sockets. The presentation covers using httpd as a reverse proxy and load balancer for backend servers like Tomcat.
Event sourcing Live 2021: Streaming App Changes to Event StoreShivji Kumar Jha
This document discusses streaming app changes to event stores. It covers change data capture (CDC) which involves identifying, capturing, and delivering changes made to data. CDC can be done by capturing events from app code or by tailing database transaction logs. Capturing from app code provides flexibility but requires extra code, while capturing from databases is easier to control but depends on database log formats. The document also discusses using event stores for data warehouses, data lakes, CQRS patterns, and hybrid transactional/analytical processing (HTAP) databases.
The way SoundCloud monitors its services and infrastructure has dramatically changed over the last couple of years. Monitoring, alerting, and being on-call is now deeply ingrained in every engineering team and we have learned a lot on the way.
This talk explains the goals and reasons Prometheus was born, show the early history of the project and how it has helped SoundCloud to fundamentally change its monitoring to support the rapid development of services.
The document provides an overview of Akka HTTP, streams, and routes. It discusses core concepts like streams, elements, back-pressure, sources, sinks, flows, and runnable graphs. It explains that routes define the request handling logic and are assembled into routing trees. Routes can complete requests, reject them, or perform asynchronous processing and return route results.
Apache James provides a set of Java libraries and components for building email servers and applications, including a full-featured mail server. It includes utilities and libraries for common email tasks like parsing, filtering, storage, protocols, and more. These components are flexible, extensible, and can be used independently or together to power full email solutions.
This document discusses distributed and highly available server applications built in Java and Scala. It describes an architecture using lightweight microservices called Talkbits that communicate over the Finagle distributed RPC framework. Key principles for Talkbits include stateless services, service discovery with Zookeeper, and functional composition of RPC calls. The document also covers configuration, deployment, logging, metrics collection and monitoring of the distributed system using tools like Loggly, CodaHale, Jolokia, Datadog, and Fabric.
(ATS6-DEV06) Using Packages for Protocol, Component, and Application DeliveryBIOVIA
Delivering protocols, components, and applications to users and other developers on an AEP server can be very challenging. Accelrys delivers the majority of its AEP services in the form of packages. This talk will discuss the methods that anyone can use to deliver bundled applications in the form of packages and the benefits of doing so. The discussion will include how to create packages, modifying existing packages, deploying packages to servers, and tools that can be used for ensuring the quality of the packages.
The document discusses Apache James, an open source Java mail server project. It introduces the James mail server and its components, as well as related projects like Hupa, a webmail client built with GWT. It provides details on the architecture and status of Hupa, and outlines ways for developers to get involved and contribute to open source projects like Apache James.
1. The document discusses Discngine's Tibco Spotfire Pipeline Pilot connector, which allows graphs stored in Pipeline Pilot to be accessed and visualized in Spotfire.
2. It describes the architecture of the connector and how it executes Pipeline Pilot protocols to generate HTML pages for visualization in Spotfire.
3. Challenges in integrating the large Spotfire API and synchronizing client and server datasets are also discussed.
HBaseConEast2016: Coprocessors – Uses, Abuses and SolutionsMichael Stack
This document discusses coprocessors in HBase, which allow custom Java code to run on region servers. It describes common uses of coprocessors like filtering and aggregation. However, coprocessors can also crash region servers if exceptions are not caught properly or hog memory resources. The document provides solutions to these problems like catching all exceptions and using defensive coding practices. It also discusses challenges with deploying and removing coprocessors and potential abuses if not whitelisted properly.
Developed for the Denver Art Museum by Ashley Blewer, this slide-deck covers some of the basics of diagnosing issues with Archivematica. Ashley covers everything from the software components involved with Archivematica, to monitoring logs, system monitoring, and upgrading your system. The presentation concludes with some useful links for tech-savvy preservationists, and Archivematica-unfamiliar system's administrators!
Archivematica is an open source digital preservation system. The document discusses Archivematica's APIs, which allow programmatic interaction with its functions. It provides examples of starting transfers, checking statuses, and downloading packages using the APIs and tools like cURL and AMClient.py. The document also explains some Archivematica terminology and concepts related to its APIs.
Introduction to Akka-streams and Akka-http.
We show how simple it becomes to build an application that streams geolocated events in a time-consistent way on a websocket, with back-pressure propagated to the upstream.
Code can be found at
https://github.com/pierangeloc/reactive-earthquakes
Developed for DANS-KNAW. This presentation covers some of the fundamentals of the automation-tools. Helper scripts for automation of transfers in Archivematica. Designed to complement the API slide-deck, the two resources can probably be consumed in any order. Knowing the API will help you understand the automation-tools, but knowing the automation-tools may help you understand what you want to create using the API.
API slide-deck here: https://www.slideshare.net/Archivematica/introduction-to-the-archivematica-api-september-2018-122548752
Introduction to Gatling performance testing tool and how we used it for testing Zonky's REST API. Example of running distributed performance tests in AWS Fargate with real-time monitoring with Logstash/ElasticSearch/Kibana stack.
This document summarizes a workshop on migrating from Oracle to PostgreSQL. It discusses migrating the database, including getting Oracle and PostgreSQL instances, understanding how applications interact with databases, and using the ora2pg tool to migrate the database schema and data from Oracle to PostgreSQL.
The document provides an overview and agenda for a presentation on the BlackRay database. It summarizes BlackRay's history and capabilities, positions it relative to other projects, and outlines the team and roadmap. The presentation covers BlackRay's architecture, APIs, management features, clustering support, and roadmap for future improvements.
The document discusses new features in Apache HTTP Server (httpd) version 2.4 and Apache Tomcat versions 7 and 8. Some key improvements in httpd 2.4 include better performance, optimizations to make it "cloud ready" with asynchronous I/O and a new multi-processing module. Tomcat 7 offers Servlet 3.0 compliance and improved startup time. Tomcat 8 features Servlet 3.1 with non-blocking I/O, HTTP protocol upgrades, and support for SPDY and web sockets. The presentation covers using httpd as a reverse proxy and load balancer for backend servers like Tomcat.
Event sourcing Live 2021: Streaming App Changes to Event StoreShivji Kumar Jha
This document discusses streaming app changes to event stores. It covers change data capture (CDC) which involves identifying, capturing, and delivering changes made to data. CDC can be done by capturing events from app code or by tailing database transaction logs. Capturing from app code provides flexibility but requires extra code, while capturing from databases is easier to control but depends on database log formats. The document also discusses using event stores for data warehouses, data lakes, CQRS patterns, and hybrid transactional/analytical processing (HTAP) databases.
The way SoundCloud monitors its services and infrastructure has dramatically changed over the last couple of years. Monitoring, alerting, and being on-call is now deeply ingrained in every engineering team and we have learned a lot on the way.
This talk explains the goals and reasons Prometheus was born, show the early history of the project and how it has helped SoundCloud to fundamentally change its monitoring to support the rapid development of services.
EXPath: the packaging system and the webapp frameworkFlorent Georges
The document introduces EXPath, an open source initiative for creating portable XML libraries and web application frameworks. It discusses the packaging system for XML libraries, which allows libraries and extensions to be installed and used across different XML technologies and processors. It also describes the Webapp module, which defines a standard way to map HTTP requests to XQuery, XSLT or XProc components to build portable web applications.
iblioterapia e Gruppi di Lettura:
tra piacere, socializzazione e benessere.
Sabato 8 ottobre 2011
Quanti libri in un libro - Il Gruppo di lettura
Intervento di di Paola Romagnolii
Biblioteca Comunale di Segrate (MI)
Nelle Terre dell'Ovest 2011
http://terredellovest.blogspot.it/2012/06/nelle-terre-dellovest-2011.html
Biblioterapia e Gruppi di Lettura:
tra piacere, socializzazione e benessere.
Sabato 8 ottobre 2011
Interventi di Roberto Spoldi
Biblioteca Comunale di Segrate (MI)
Un gruppo di lettura è un gruppo di persone che legge allo stesso tempo un libro e di comune accordo si incontra regolarmente in un luogo per parlarne
Nelle Terre dell'Ovest 2011
http://terredellovest.blogspot.it/2012/06/nelle-terre-dellovest-2011.html
The document discusses EXPath Packaging, which is a framework for packaging libraries and applications for core XML technologies. It provides a standardized way to package and distribute reusable modules so they can be imported and used across different XML processors and platforms. The key components include a package descriptor, standardized package structure within a ZIP file, and automated installers to make it easy for users to install and import modules.
Galaxy is an open-source framework that allows users to integrate various computational tools and databases into a single workspace. It provides a web-based interface where users can run analyses and build workflows. Galaxy can integrate existing command line tools and web tools through a plugin architecture. It uses a flexible execution environment to run jobs on local or cluster resources through pluggable job runners. The project aims to support additional tool types and deeper customization while keeping the core open and extensible.
The document provides an overview of the EXPath project, which aims to define a standard library of extension functions for XPath, XSLT, XQuery and other languages. It describes several EXPath modules including an HTTP client, ZIP file support, and a packaging system. The overall goal is to enable collaborative development of portable extension libraries that can be used across implementations.
OpenStack Best Practices and Considerations - terasky tech dayArthur Berezin
- Arthur Berezin presented on best practices for deploying enterprise-grade OpenStack implementations. The presentation covered OpenStack architecture, layout considerations including high availability, and best practices for compute, storage, and networking deployments. It provided guidance on choosing backend drivers, overcommitting resources, and networking designs.
The Fn project is a container-native Apache 2.0 licensed serverless platform that you can run anywhere – on any cloud or on-premise. It’s easy to use, supports every programming language, and is extensible and performant. This YourStory-Oracle Developer Meetup covers various design aspects of Serverless for polyglot programming, implementation of Saga pattern, etc. It also emphasizes on the monitoring aspect of Fn project using Prometheus and Grafana
Next.js is one of the top choices when you need performant and robust React.js server side rendering with smart code splitting on your front end. Things like smart code-splitting, routing, lazy loading, isomorphic state between server and client side (browser) or Webpack optimised configurations can be a hassle, but Next.js framework make your developing process go forward.
After almost two years building from an e-commerce to a publishing site using Next.js with Drupal + GraphQL on production, we learned valuable lessons which motivated us to build the next-on-drupal boilerplate, a collection of examples and tools in order to integrate Drupal best features with Next.js.
I'll share with you our most valuable lessons, showing to you how we integrate: Drupal’s dynamic routing, translations, layouts with contextual blocks, metatags, cache-tags and more.
Kubernetes is an open-source container management platform. It has a master-node architecture with control plane components like the API server on the master and node components like kubelet and kube-proxy on nodes. Kubernetes uses pods as the basic building block, which can contain one or more containers. Services provide discovery and load balancing for pods. Deployments manage pods and replicasets and provide declarative updates. Key concepts include volumes for persistent storage, namespaces for tenant isolation, labels for object tagging, and selector matching.
This summary provides an overview of the lightning talks presented at the NetflixOSS Open House:
- Jordan Zimmerman from Netflix presented on several NetflixOSS projects he works on including Curator, a Java library that makes using ZooKeeper easier, and Blitz4j, an asynchronous logging library that improves performance over Log4j.
- Additional talks covered Eureka, a REST service for discovering middle-tier services; Ribbon for load balancing between middle-tier instances; Archaius for dynamic configuration; Astyanax for interacting with Cassandra; and various other NetflixOSS projects.
- The talks highlighted the motivation for these projects including addressing challenges of scaling for Netflix's large data
The document compares the performance of JavaScript engines in different browsers. It discusses the V8 engine in Google Chrome, SpiderMonkey in Firefox, Chakra in Internet Explorer 9, and Carakan in Opera 11. Benchmarks show that V8 consistently outperforms the other engines, with Chrome 16 being 2-5 times faster than Firefox, Internet Explorer, and Opera in the Kraken and V8 benchmarks. The document attributes V8's performance to optimizations like hidden classes, dynamic code generation, and its garbage collector.
[HKOSCON][20180616][Containerized High Availability Virtual Hosting Deploymen...Wong Hoi Sing Edison
Hong Kong Open Source Conference 2018
Containerized High Availability Virtual Hosting Deployment with Kubernetes, Docker and Ansible
https://hkoscon.org/2018/topic/containerized-high-availability-virtual-hosting-deployment-kubernetes-docker-and-ansible/
This document discusses scaling up logging and metrics in OpenShift Container Platform (OCP). It provides an overview of the logging stack including Elasticsearch, Fluentd, and Kibana. It also summarizes the metrics stack including Cassandra, Heapster, and Hawkular. The document outlines testing done to evaluate limits and scaling of these components on large OCP clusters with thousands of nodes and pods. It provides recommendations for configuring and deploying the infrastructure to support high throughput logging and metrics collection.
The document discusses the MEAN stack, which is used to build RESTful services and web applications. It consists of MongoDB for data storage, Express for building the web application, AngularJS for the front-end, and Node.js as the runtime environment. The document compares MEAN to LAMP and explains why MEAN is better suited for building RESTful APIs and web applications with its use of a single programming language and ability to directly work with JSON data without translation.
Ad108 - XPages in the IBM Lotus Notes Client - A Deep Dive!ddrschiw
This session gives you the grand tour of XPages in the Lotus Notes client. You'll discover how easy it is to take your XPages Web apps offline, and then add custom client behaviors that really adapt your application to Lotus Notes client platform. Spread your wings and integrate your application with other client components using real-world use cases that can make a real difference to your business. Learn how to test and debug your XPages client app along the way, and see how XPages supports traditional Lotus Notes client features and get a glimpse of where these integration points will lead in the future. If you have plans for XPages on the Lotus Notes client, this session is a must for you!
Introduction to node js - From "hello world" to deploying on azureColin Mackay
Slide deck from my talk on Node.js.
More information is available here: http://colinmackay.scot/2014/11/29/dunddd-2014-introduction-to-node-jsfrom-hello-world-to-deploying-on-azure/
This document provides an overview and summary of OpenShift v3 and containers. It discusses how OpenShift v3 uses Docker containers and Kubernetes for orchestration instead of the previous "Gears" system. It also summarizes the key architectural changes in OpenShift v3, including using immutable Docker images, separating development and operations, and abstracting operational complexity.
The document discusses features and changes in ASP.NET vNext, the future version of ASP.NET. It describes how vNext uses project.json for dependencies instead of references, allows editing code without recompiling, and merges MVC, Web API and Web Pages into a single framework. It also discusses tools for building, running and deploying vNext applications in Visual Studio 2015 and how the runtime will be more modular and cross-platform compared to previous versions of ASP.NET.
Creating Connector to Bridge the Worlds of Kafka and gRPC at Wework (Anoop Di...confluent
What do you do when you've two different technologies on the upstream and the downstream that are both rapidly being adopted industrywide? How do you bridge them scalably and robustly? At Wework, the upstream data was being brokered by Kafka and the downstream consumers were highly scalable gRPC services. While Kafka was capable of efficiently channeling incoming events in near real-time from a variety of sensors that were used in select Wework spaces, the downstream gRPC services that were user-facing were exceptionally good at serving requests in a concurrent and robust manner. This was a formidable combination, if only there was a way to effectively bridge these two in an optimized way. Luckily, sink Connectors came to the rescue. However, there weren't any for gRPC sinks! So we wrote one.
In this talk, we will briefly focus on the advantages of using Connectors, creating new Connectors, and specifically spend time on gRPC sink Connector and its impact on Wework's data pipeline.
Manila, an update from Liberty, OpenStack Summit - TokyoSean Cohen
Manila is a community-driven project that presents the management of file shares (e.g. NFS, CIFS, HDFS) as a core service to OpenStack. Manila currently works with a variety of storage platforms, as well as a reference implementation based on a Linux NFS server.
Manila is exploding with new features, use cases, and deployers. In this session, we'll give an update on the new capabilities added in the Liberty release:
• Integration with OpenStack Sahara
• Migration of shares across different storage back-ends
• Support for availability zones (AZs) and share replication across these AZs
• The ability to grow and shrink file shares on demand
• New mount automation framework
• and much more…
As well as provide a quick look of whats coming up in Mitaka release with Share Replication demo
This document provides an overview of microservices and how to develop them using Spring. It discusses the challenges of distributed systems and how Spring Boot and Spring Cloud Netflix address areas like configuration, service registration, load balancing, fault tolerance, and monitoring. Examples are provided for building microservices with Spring Boot, integrating configuration with Spring Cloud Config, registering services with Eureka, load balancing with Ribbon and Feign, handling faults with Hystrix, and monitoring with Hystrix Dashboard. Reactive programming with RxJava is also introduced as an approach for concurrent API integration.
A brief introduction to Apache Kafka and describe its usage as a platform for streaming data. It will introduce some of the newer components of Kafka that will help make this possible, including Kafka Connect, a framework for capturing continuous data streams, and Kafka Streams, a lightweight stream processing library.
Similar to EXPath Webapp - CXAN: a case-study for Servlex, an XML web framework (20)
4. Introduction - Packaging
● A specification to package libraries
● Supported by several processors
– eXist
– Qizx
– Saxon (as 3d party impl)
– Calabash (as 3d party impl)
● A package is a standalone file...
● ... a ZIP file with components and a descriptor
5. Introduction - CXAN
● Same idea as CTAN for TeX/LaTeX, or CPAN
for Perl, or APT for Debian
● A central, comprehensive, organized collection
of packages:
– Libraries (XSLT, XQuery, XProc, schemas, …)
– Applications (command line, webapps, …)
● Maintained on a central website
● Accessible through a browser
● Accessible through the CXAN client
6. Introduction - Webapp
● Define a web container to deploy webapps
● A webapp is a set of components (in XSLT,
XQuery or XProc)
● It has a descriptor to map incoming URIs to
specific components
● It is packaged using the Packaging System
● A webapp is able to do whatever is possible to
do with HTTP on server-side
● That is, it is able to build your website
7. Introduction - Samples
● An existing implementation of EXPath Webapp
is Servlex
● Some existing websites deployed on Servlex:
– http://expath.org/
– http://h2oconsulting.be/
– and... http://cxan.org/
● Of interest:
– http://h2oconsulting.be/xqts/
– http://h2oconsulting.be/tools/dump
8. EXPath Webapp
● Introduction
●
Webapp, the module ←
● Data-driven
● Servlex
● The CXAN website
● From scratch
● Conclusion
9. Webapp - Goal
● The final, user-level goal is to be able to
respond to any HTTP request on the server
(so implementing websites, web services, etc.)
● Webapp is aimed at defining a processor-
agnostic web container for XML technologies
● The web container allows one to deploy web
applications written directly in XSLT, XQuery
and/or XProc
● A webapp is interoperable as long as it
respects the rules in the Webapp spec
10. Webapp - Components
● Components are either:
– XProc step
– XProc pipeline
– XQuery function
– XQuery main module
– XSLT function
– XSLT named template
– XSLT stylesheet
11. Webapp - At 10,000 feet
● The Webapp Module defines a web container
responding to HTTP requests
● The processing is defined by user applications
12. Webapp - Overall processing
● Under the hood, the URI of each HTTP
request is inspected
● It is used to choose an application to serve it
● It is then used to pick a component within the
application, using its own map
● The component is evaluated with an XML
representation of the HTTP request
● The component result is an XML rep of the
HTTP response to send back
18. Webapp - Filters & Co.
● The dispatcher can perform more complex
processing
● According to the map, it can setup filters, error
handlers, chain them, and order them
● Error handlers help setting a consistent error
reporting mechanism
● Filters can apply a consistent layout, inject
data, handle authentication, or build a
dedicated data model for the application
19. Webapp - Packaging
● Webapp defines how to package a webapp
● It builds on the EXPath Packaging System
● Basically, a webapp file is a standard package
with a web descriptor, expath-web.xml
● Standard packaging tools can be used for web
applications
● A webapp itself can be published on CXAN,
thus retrieved and installed automatically in a
web container's repository
20. EXPath Webapp
● Introduction
● Webapp, the module
●
Data-driven ←
● Servlex
● The CXAN website
● From scratch
● Conclusion
21. Data - What's different?
● The framework is data-oriented, in particular
the web:request and web:response elements
● What is different? Nothing, one could argue
● But in the developer's eyes
– More clear, easier to learn
– Easier to log, and to investigate bug reports
● Easy to create:
– A custom data layer dedicated to the app
– Filters transforming inputs & outputs
22. Data - Testability
● The web:request and web:response elements
are the interface between the application
components and the web container
● Because they are data, it is easy to create
them by hand or generate them, and to save
them on disk and in a revision control system
● Even at the highest level, no need of plenty of
dedicated functional test tools to simulate the
behavior of the web container, a web:request
element describes a complete HTTP request
23. Data - Testability, say it again
A webapp is unit-testable all along the way,
up to the very top of the stack
24. EXPath Webapp
● Introduction
● Webapp, the module
● Data-driven
●
Servlex ←
● The CXAN website
● From scratch
● Conclusion
25. Servlex - Intro
● Servlex in one implementation of the web
container defined in the Webapp Module
● It is open-source
● It is available at http://servlex.googlecode.com/
● It is written in Java
● On the network hand, it uses Java Servlet
technology, for the link to HTTP
● On the XML hand, it uses Saxon and Calabash,
as its XSLT, XQuery and XProc processors
26. Servlex - Install
● Servlex is a standard WAR file
● It can be deployed in Tomcat, Jetty, Glassfish,
but also in Google Appengine and Amazon
Cloud EC2 (you know, that cloud thing)
● The only config is to point to a standard on-
disk package repository (by setting a Java
system property)
● It contains a admin interface to manage and
install web applications and packages
28. Servlex - Google Appengine
● Google Appengine does not allow disk access
● The repository is all in the classpath
● The set of webapps is therefore fixed in the
Servlex instance deployed on Appengine
● http://fgeorges.appspot.com/expath/ as an
example
● Could be deployed in other cloud systems
29. EXPath Webapp
● Introduction
● Webapp, the module
● Data-driven
● Servlex
●
The CXAN website ←
● From scratch
● Conclusion
30. CXAN - The website
● The central part of CXAN is its website
● It can be browsed as a website or used via its
well-defined REST-like API
● There is a command-line client, but there can
be several of them, e.g. in an XML database
● It stores packages (XAR files + distributions)
● It organizes them by name, and by using tags,
categories, and authors, as well as a CXAN ID
● A package stores additional infos in cxan.xml
32. CXAN - Architecture
● One component for each page (in XProc)
● There is a global error handler, catching XPath
errors, returning a user-friendly error page
● The components return a page document
● There is a global output filter, transforming
page documents into full HTML pages, with
consistent layout
● Based on the HTTP Accept header, they can
return XML instead (for REST-style calls)
33. EXPath Webapp
● Introduction
● Webapp, the module
● Data-driven
● Servlex
● The CXAN website
●
From scratch ←
● Conclusion
34. From scratch - Old school
● A webapp is a standard package
● So it is a ZIP file, with a particular structure
● So it must contain a package descriptor
● The package descriptor identifies components
(by assigning them public import URIs)
● It contains a web descriptor (expath-web.xml),
linking request URIs patterns to components
35. From scratch - New age
● Maintaining the package descriptor separately
from the components is painful
● So is creating the ZIP file
● A standard tool, based on some project infos,
annotations in the components and a project
structure, builds the package descriptor and
the ZIP file
● We have to write the web descriptor, be we
could improve the tool to use annotations