A description of what REST is and is not useful for followed by a walkthrough of how to use REST API's to access Informix databases. Includes new features released for Informix 12.10xC7
Join us for an intermediate-level, one-hour Postman training tailored specifically for API testers, developers, and other stakeholders invested in the health of your APIs. If you already know how to write and run tests in Postman, this session takes it to the next level. Learn advanced testing workflows and recommended practices for testing in Postman.
CVE-2021-44228 Log4j (and Log4Shell) Executive Explainer by cje@bugcrowdCasey Ellis
This deck goes through what Log4j is from ground-level concepts up, explains how Log4j works, how it is vulnerable, how the Log4shell exploit works, how to mitigate the risk and defend against exploitation, and some current observations through the Bugcrowd platform and predictions about what happens next.
Publish & Subscribe to events using an Event AggregatorLars-Erik Kindblad
These slides gives guides you through what the Publish-Subscribe pattern is, how to create an Event Aggregator, how you can use it in the UI and in other layers and 2 code samples that refactors from a non pub-sub architecture to a pub-sub architecture.
API Governance and GitOps in Hybrid Integration Platform (MuleSoft)Sumanth Donthi
In this two-part series, Sumanth Donthi, Associate IO at AIG explains how AIG changed software delivery process with API Governance and how they improved operational efficiencies with GitOps.
At AWS re:Invent, we have launched support for blue/green deployments for services hosted using AWS Fargate and Amazon Elastic Container Service (Amazon ECS). Blue/green deployments help you minimize downtime during application updates. They allow you to launch a new version of your application alongside the old version and test the new version before you reroute traffic to it. You can also monitor the deployment process and, if there is an issue, quickly roll back.
In this workshop, you will create a new service in AWS Fargate that uses AWS CodeDeploy to manage the deployments, testing, and traffic cutover for you.
The Log4Shell Vulnerability – explained: how to stay secureKaspersky
On December 9th, researchers uncovered a zero-day critical vulnerability in the Apache Log4j library used by millions of Java applications. CVE-2021-44228 or “Log4Shell” is a RCE vulnerability that allows attackers to execute arbitrary code and potentially take full control over an infected system. The vulnerability has been ranked a 10/10 on the CVSSv3 severity scale.
While the Apache Foundation has already released a patch for this CVE, it can take weeks or months for vendors to update their software, and there are already widespread scans being conducted by malicious attackers to exploit Log4Shell.
What should companies or organizations do?
Join Marco Preuss, Head of Europe’s Global Research and Analysis (GReAT) team, Marc Rivero and Dan Demeter, Senior Security Researchers with GReAT, for an in-depth discussion on Log4Shell and a live Q&A session.
To see the full webinar, please visit: https://securelist.com/webinars/log4shell-vulnerability-how-to-stay-secure/?utm_source=Slideshare&utm_medium=partner&utm_campaign=gl_jespo_je0066&utm_content=link&utm_term=gl_Slideshare_organic_s966w1tou5a0snh
Join us for an intermediate-level, one-hour Postman training tailored specifically for API testers, developers, and other stakeholders invested in the health of your APIs. If you already know how to write and run tests in Postman, this session takes it to the next level. Learn advanced testing workflows and recommended practices for testing in Postman.
CVE-2021-44228 Log4j (and Log4Shell) Executive Explainer by cje@bugcrowdCasey Ellis
This deck goes through what Log4j is from ground-level concepts up, explains how Log4j works, how it is vulnerable, how the Log4shell exploit works, how to mitigate the risk and defend against exploitation, and some current observations through the Bugcrowd platform and predictions about what happens next.
Publish & Subscribe to events using an Event AggregatorLars-Erik Kindblad
These slides gives guides you through what the Publish-Subscribe pattern is, how to create an Event Aggregator, how you can use it in the UI and in other layers and 2 code samples that refactors from a non pub-sub architecture to a pub-sub architecture.
API Governance and GitOps in Hybrid Integration Platform (MuleSoft)Sumanth Donthi
In this two-part series, Sumanth Donthi, Associate IO at AIG explains how AIG changed software delivery process with API Governance and how they improved operational efficiencies with GitOps.
At AWS re:Invent, we have launched support for blue/green deployments for services hosted using AWS Fargate and Amazon Elastic Container Service (Amazon ECS). Blue/green deployments help you minimize downtime during application updates. They allow you to launch a new version of your application alongside the old version and test the new version before you reroute traffic to it. You can also monitor the deployment process and, if there is an issue, quickly roll back.
In this workshop, you will create a new service in AWS Fargate that uses AWS CodeDeploy to manage the deployments, testing, and traffic cutover for you.
The Log4Shell Vulnerability – explained: how to stay secureKaspersky
On December 9th, researchers uncovered a zero-day critical vulnerability in the Apache Log4j library used by millions of Java applications. CVE-2021-44228 or “Log4Shell” is a RCE vulnerability that allows attackers to execute arbitrary code and potentially take full control over an infected system. The vulnerability has been ranked a 10/10 on the CVSSv3 severity scale.
While the Apache Foundation has already released a patch for this CVE, it can take weeks or months for vendors to update their software, and there are already widespread scans being conducted by malicious attackers to exploit Log4Shell.
What should companies or organizations do?
Join Marco Preuss, Head of Europe’s Global Research and Analysis (GReAT) team, Marc Rivero and Dan Demeter, Senior Security Researchers with GReAT, for an in-depth discussion on Log4Shell and a live Q&A session.
To see the full webinar, please visit: https://securelist.com/webinars/log4shell-vulnerability-how-to-stay-secure/?utm_source=Slideshare&utm_medium=partner&utm_campaign=gl_jespo_je0066&utm_content=link&utm_term=gl_Slideshare_organic_s966w1tou5a0snh
Anatomy of a Continuous Integration and Delivery (CICD) PipelineRobert McDermott
This presentation covers the anatomy of a production CICD pipeline that is used to develop and deploy the cancer research application Oncoscape (https://oncoscape.sttrcancer.org)
Do you want to see live Kubernetes hacking? Come to see interactive demos where your newly registered accounts in a k8s application are hijacked.
This talk guides you through various security risk of Kubernetes, focusing on OWASP Kubernetes Top 10 list. In live demos, you will find out how to exploit a range of vulnerabilities or misconfigurations in your k8s clusters, attacking containers, pods, network, or k8s components, leading to an ultimate compromise of user accounts in an exemplary web application.
You will learn about common mistakes and vulnerabilities along with the best practices for hardening your Kubernetes systems.
My presentation from Nordic APIs 2014 in Stockholm, Sweden.
How can the architecture of one API platform look like? How can you break down things to make this challenge easier?
At eMerge Technologies, we have integrated dozens of API’s over a period of 15 years. And in doing so, we have developed an “API integration process” that we feel is the best way to bridge two separate applications and have them work together in seamless harmony. For more: https://emergetech.com/api-integration-process/
10,000 microservices are generated each month using JHipster!
During this in-depth session by the two JHipster lead developers, we’ll detail:
How to develop and deploy microservices easily
Scalability and failover of microservices
The JHipster Registry for scaling, configuring and monitoring microservices
Common architecture patterns and pitfalls
Today I gave a presentation on the DevOps workflow and build pipeline. I talked about why you and your team might want to employ it, and gave a demo of how to create one using Jenkins. Here are the slides
Secure code review is probably the most effective technique to identify security bugs early in the system development lifecycle.
When used together with automated and manual penetration testing, code review can significantly increase the cost effectiveness of an application security verification effort. This presentation explain how can we start secure code review effectively.
This covers security with APIc/gateway. It goes over high-level concepts and what IBM APIc can offer, this covers 2018, and v10 of the product
Note: this is from a presentation from a year or so ago, with some updates to the link
Bridging the Security Testing Gap in Your CI/CD PipelineDevOps.com
Are you struggling with application security testing? Do you wish it was easier, faster, and better? Join us to learn more about IAST, a next-generation application security tool that provides highly accurate, real-time vulnerability results without the need for application or source code scans. Learn how this nondisruptive tool can:
Run in the background and report vulnerabilities during functional testing, CI/CD, and QA activities.
Auto verify, prioritize and triage vulnerability findings in real time with 100% confidence.
Fully automate secure app delivery and deployment, without the need for extra security scans or processes.
Free up DevOps resources to focus on strategic or mission-critical tasks and contributions.
Anatomy of a Continuous Integration and Delivery (CICD) PipelineRobert McDermott
This presentation covers the anatomy of a production CICD pipeline that is used to develop and deploy the cancer research application Oncoscape (https://oncoscape.sttrcancer.org)
Do you want to see live Kubernetes hacking? Come to see interactive demos where your newly registered accounts in a k8s application are hijacked.
This talk guides you through various security risk of Kubernetes, focusing on OWASP Kubernetes Top 10 list. In live demos, you will find out how to exploit a range of vulnerabilities or misconfigurations in your k8s clusters, attacking containers, pods, network, or k8s components, leading to an ultimate compromise of user accounts in an exemplary web application.
You will learn about common mistakes and vulnerabilities along with the best practices for hardening your Kubernetes systems.
My presentation from Nordic APIs 2014 in Stockholm, Sweden.
How can the architecture of one API platform look like? How can you break down things to make this challenge easier?
At eMerge Technologies, we have integrated dozens of API’s over a period of 15 years. And in doing so, we have developed an “API integration process” that we feel is the best way to bridge two separate applications and have them work together in seamless harmony. For more: https://emergetech.com/api-integration-process/
10,000 microservices are generated each month using JHipster!
During this in-depth session by the two JHipster lead developers, we’ll detail:
How to develop and deploy microservices easily
Scalability and failover of microservices
The JHipster Registry for scaling, configuring and monitoring microservices
Common architecture patterns and pitfalls
Today I gave a presentation on the DevOps workflow and build pipeline. I talked about why you and your team might want to employ it, and gave a demo of how to create one using Jenkins. Here are the slides
Secure code review is probably the most effective technique to identify security bugs early in the system development lifecycle.
When used together with automated and manual penetration testing, code review can significantly increase the cost effectiveness of an application security verification effort. This presentation explain how can we start secure code review effectively.
This covers security with APIc/gateway. It goes over high-level concepts and what IBM APIc can offer, this covers 2018, and v10 of the product
Note: this is from a presentation from a year or so ago, with some updates to the link
Bridging the Security Testing Gap in Your CI/CD PipelineDevOps.com
Are you struggling with application security testing? Do you wish it was easier, faster, and better? Join us to learn more about IAST, a next-generation application security tool that provides highly accurate, real-time vulnerability results without the need for application or source code scans. Learn how this nondisruptive tool can:
Run in the background and report vulnerabilities during functional testing, CI/CD, and QA activities.
Auto verify, prioritize and triage vulnerability findings in real time with 100% confidence.
Fully automate secure app delivery and deployment, without the need for extra security scans or processes.
Free up DevOps resources to focus on strategic or mission-critical tasks and contributions.
Lo más habitual es que las aplicaciones informáticas necesiten conectarse con muy diversos sistemas, a través de diferentes protocolos: bases de datos, servicios REST, los propios sistemas operativos... Realizar pruebas de integración para asegurarnos la correcta comunicación de todos estos sistemas es fundamental para crear un software robusto y de calidad.
Tradicionalmente estas pruebas son costosas y arduas, y difícilmente automatizables. En esta charla veremos cómo preparar en pocos pasos un plan de construcción en un servidor de integración continua que automatice las pruebas de integración con diferentes sistemas mediante contenedores Docker, construyendo al vuelo, en tiempo de ejecución, toda la infraestructura necesaria para realizar los tests.
Beneficios de implementar Integración Continua en el proceso de desarrollo en equipos ya formados, un blanqueo de que todo no es perfecto, pero que mejora la calidad de código y elimina incertidumbres entre los programadores. Instalación y practica de su implementación.
Linux containers and Docker specifically have revolutionized the way applications are run at scale, but testing can greatly benefit from those technologies too.Containers allow to run tests in isolation with a minimum performance penalty, increased speed with respect to virtual machine based tests and easier configuration and less complexity for integration testing. Testing with containers allows running tests in a new, clean environment for each execution, minimizing false positives and environment corruption. At the same time it allows reusing container clusters to run development, testing and production workloads.You will learn to effectively use Jenkins with Docker and Kubernetes, a multi host Docker clustering technology, to run your Jenkins jobs in isolated containers for each execution at scale.
http://www.agiletestingdays.com/session/using-docker-for-testing/
DockerCon EU 2015: Continuous Integration with Jenkins, Docker and ComposeDocker, Inc.
Presented by Sandro Cirulli, Platform Tech Lead, Oxford University Press
Oxford University Press (OUP) recently started the Oxford Global Languages (OGL) initiative (http://www.oxforddictionaries.com/words/oxfordlanguages) which aims at providing language resources for digitally under represented languages. In August 2015 OUP launched two African languages websites for Zulu (http://zu.oxforddictionaries.com) and Northern Sotho (http://nso.oxforddictionaries.com). The backend of these websites is based on an API retrieving data in RDF from a triple store and delivering data to the frontend in JSON-LD.
The entire micro-service infrastructure for development, staging, and production runs on Docker containers in Amazon EC2 instances. In particular, we use Jenkins to rebuild the Docker image for the API based on a Python Flask application and Docker Compose to orchestrate the containers. A typical CI workflow is as follows:
- a developer commits code to the codebase
- Jenkins triggers a job to run unit tests
- if the unit tests are successful, the Docker image of the Python Flask application is rebuilt and the container is restarted via Docker Compose
- if the unit tests or the Docker build failed, the monitor view shows the Jenkins jobs in red and displays the name of the possible culprit who broke the build.
A demo of this CI workflow is available at http://www.sandrocirulli.net/continuous-integration-with-jenkins-docker-and-compose
Making People Flow in Cities Measurable and AnalyzableWeiwei Yang
Millions of people move to large cities every day. What if we make the people flow measurable and analyzable? This would be of great value for city traffic planning, real time monitoring of hot areas and for targeted advertising. This capability exists by leveraging and combining Apache Spark streaming, Spark SQL, Spark batch processing, plus DB2 with BLU Acceleration. Spark provides powerful stream and batch processing on big data, and BLU Acceleration enhances the ability of complex analytics on multiple dimensions. Learn how BLU Acceleration and Spark are integrated seamlessly into one solution. This session will also show a demo that is based on a large city in China.
Plan ahead and act proficiently for reporting - Lessons LearnedEinar Karlsen
This presentation – held at Interconnect 2016 in Las Vegas - describes the top 10 mistakes an organization can make when deploying document generation tools in terms of implied costs, risk and impact. More importantly however it also gives you best practices as well as tips and tricks on how to avoid repeating those mistakes. The presentation is based on many years of experience in deploying document generation tools such as the IBM Rational Publishing Engine and the discussion takes it origin in real life examples.
Improving Software Delivery with Software Defined Environments (IBM Interconn...Michael Elder
How will you change the way your company delivers high quality customer experiences?
As market dynamics have shifted requiring faster deliveries and greater innovation, most companies are challenged to keep up with the pace. Cultural movements like DevOps and technology shifts like Software Defined Environments offer you the opportunity to deliver greater business value for your end users.
In this talk, we’ll teach you how to leverage UrbanCode Deploy with Patterns to design reusable, portable Heat-based templates which capture all of the elements of your application workload to deploy against OpenStack, Amazon, or VMWare vCenter. We’ll also cover some advanced topics like capturing templates which allow autoscaling, load balancing, and other policies as part of your workload blueprint.
So come learn how you can make your experience as an integrator, specialist, or developer better while simultaneously helping your end users.
“Liberté, Égalité, Fraternité” (Liberty, Equality, Fraternity), is the slogan of France, coined around the time of the French Revolution. It also seems a pretty appropriate slogan for the mini revolution that is happening right now with CICS and WebSphere. The Liberty profile is a highly composable and dynamic application server runtime environment that is shipped as a part of both WebSphere and CICS. This session will introduce Liberty in CICS, compare the capability with WebSphere (note the ‘equality’ word) and discuss how these new Liberty applications can interact with and support the established fraternity of existing CICS applications that run your core business.
[IBM Pulse 2014] #1579 DevOps Technical Strategy and RoadmapDaniel Berg
Hey everyone. Here is the presentation that I had the pleasure of presenting the following deck with Maciej Zawadzki and Ruth Willenborg describing IBM's technical strategy and roadmap.
Enjoy!!!
Complete Solutions in ECM using IBM, Internal and Third Party, Custom ComponentsPyramid Solutions, Inc.
Pyramid Solutions showcased how real-world customers have used IBM Content Navigator and IBM Case Manager to develop solutions that can be applied to the entire enterprise. Using the extendibility of Content Navigator has allowed customers to use custom components that were developed in-house in conjunction with third-party and OOTB components to develop complete solutions to meet the users’ needs. This session examines how custom components can be built and combined with third-party and IBM products. It also examines the flexibility of component design that enables flexible interfaces that can be used across content and case management solutions without the need to develop separate components.
Building intelligent APIs - Andy Thurai, IBMPAPIs.io
The birth of a sophisticated Internet of Things has catapulted hybrid data collection, which mixes structured and unstructured data, to new heights. The goal with any analytics software is to find and improve better data sets rather than spending time in identifying, prepping, cleaning, and preparing the data. Not only is predicting and prescribing an action anticipating a future issue desired, but if the action is ignored then a forward thinking automatic adoption should suggest an advanced course correction based on previous action items not acted upon. Predictive analytics algorithms should recalibrate themselves. As the incoming data evolves, so do the algorithms – they must re-fit, re-predict and re-prescribe.
Andy Thurai, Program Director at IBM (API, IoT and Connected Cloud), discusses how the time has come for machines and humans to work together to make each other smarter. The combination of APIs, IoTs, big data, smarter analytics, and cognitive computing is transforming the way we see the future — and more importantly, what we do about it.
Your Digital Assistant.
Making complex approach simple. Straightforward process saves time. No more waiting to connect with people that matter to you. Safety first is not a cliché - Securely protect information in cloud storage to prevent any third party from accessing data.
Would you rather make your visitors feel burdened by making them wait? Or choose VizMan for a stress-free experience? VizMan is an automated visitor management system that works for any industries not limited to factories, societies, government institutes, and warehouses. A new age contactless way of logging information of visitors, employees, packages, and vehicles. VizMan is a digital logbook so it deters unnecessary use of paper or space since there is no requirement of bundles of registers that is left to collect dust in a corner of a room. Visitor’s essential details, helps in scheduling meetings for visitors and employees, and assists in supervising the attendance of the employees. With VizMan, visitors don’t need to wait for hours in long queues. VizMan handles visitors with the value they deserve because we know time is important to you.
Feasible Features
One Subscription, Four Modules – Admin, Employee, Receptionist, and Gatekeeper ensures confidentiality and prevents data from being manipulated
User Friendly – can be easily used on Android, iOS, and Web Interface
Multiple Accessibility – Log in through any device from any place at any time
One app for all industries – a Visitor Management System that works for any organisation.
Stress-free Sign-up
Visitor is registered and checked-in by the Receptionist
Host gets a notification, where they opt to Approve the meeting
Host notifies the Receptionist of the end of the meeting
Visitor is checked-out by the Receptionist
Host enters notes and remarks of the meeting
Customizable Components
Scheduling Meetings – Host can invite visitors for meetings and also approve, reject and reschedule meetings
Single/Bulk invites – Invitations can be sent individually to a visitor or collectively to many visitors
VIP Visitors – Additional security of data for VIP visitors to avoid misuse of information
Courier Management – Keeps a check on deliveries like commodities being delivered in and out of establishments
Alerts & Notifications – Get notified on SMS, email, and application
Parking Management – Manage availability of parking space
Individual log-in – Every user has their own log-in id
Visitor/Meeting Analytics – Evaluate notes and remarks of the meeting stored in the system
Visitor Management System is a secure and user friendly database manager that records, filters, tracks the visitors to your organization.
"Secure Your Premises with VizMan (VMS) – Get It Now"
We describe the deployment and use of Globus Compute for remote computation. This content is aimed at researchers who wish to compute on remote resources using a unified programming interface, as well as system administrators who will deploy and operate Globus Compute services on their research computing infrastructure.
Understanding Globus Data Transfers with NetSageGlobus
NetSage is an open privacy-aware network measurement, analysis, and visualization service designed to help end-users visualize and reason about large data transfers. NetSage traditionally has used a combination of passive measurements, including SNMP and flow data, as well as active measurements, mainly perfSONAR, to provide longitudinal network performance data visualization. It has been deployed by dozens of networks world wide, and is supported domestically by the Engagement and Performance Operations Center (EPOC), NSF #2328479. We have recently expanded the NetSage data sources to include logs for Globus data transfers, following the same privacy-preserving approach as for Flow data. Using the logs for the Texas Advanced Computing Center (TACC) as an example, this talk will walk through several different example use cases that NetSage can answer, including: Who is using Globus to share data with my institution, and what kind of performance are they able to achieve? How many transfers has Globus supported for us? Which sites are we sharing the most data with, and how is that changing over time? How is my site using Globus to move data internally, and what kind of performance do we see for those transfers? What percentage of data transfers at my institution used Globus, and how did the overall data transfer performance compare to the Globus users?
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Anthony Dahanne
Les Buildpacks existent depuis plus de 10 ans ! D’abord, ils étaient utilisés pour détecter et construire une application avant de la déployer sur certains PaaS. Ensuite, nous avons pu créer des images Docker (OCI) avec leur dernière génération, les Cloud Native Buildpacks (CNCF en incubation). Sont-ils une bonne alternative au Dockerfile ? Que sont les buildpacks Paketo ? Quelles communautés les soutiennent et comment ?
Venez le découvrir lors de cette session ignite
Enhancing Research Orchestration Capabilities at ORNL.pdfGlobus
Cross-facility research orchestration comes with ever-changing constraints regarding the availability and suitability of various compute and data resources. In short, a flexible data and processing fabric is needed to enable the dynamic redirection of data and compute tasks throughout the lifecycle of an experiment. In this talk, we illustrate how we easily leveraged Globus services to instrument the ACE research testbed at the Oak Ridge Leadership Computing Facility with flexible data and task orchestration capabilities.
First Steps with Globus Compute Multi-User EndpointsGlobus
In this presentation we will share our experiences around getting started with the Globus Compute multi-user endpoint. Working with the Pharmacology group at the University of Auckland, we have previously written an application using Globus Compute that can offload computationally expensive steps in the researcher's workflows, which they wish to manage from their familiar Windows environments, onto the NeSI (New Zealand eScience Infrastructure) cluster. Some of the challenges we have encountered were that each researcher had to set up and manage their own single-user globus compute endpoint and that the workloads had varying resource requirements (CPUs, memory and wall time) between different runs. We hope that the multi-user endpoint will help to address these challenges and share an update on our progress here.
Cyaniclab : Software Development Agency Portfolio.pdfCyanic lab
CyanicLab, an offshore custom software development company based in Sweden,India, Finland, is your go-to partner for startup development and innovative web design solutions. Our expert team specializes in crafting cutting-edge software tailored to meet the unique needs of startups and established enterprises alike. From conceptualization to execution, we offer comprehensive services including web and mobile app development, UI/UX design, and ongoing software maintenance. Ready to elevate your business? Contact CyanicLab today and let us propel your vision to success with our top-notch IT solutions.
Designing for Privacy in Amazon Web ServicesKrzysztofKkol1
Data privacy is one of the most critical issues that businesses face. This presentation shares insights on the principles and best practices for ensuring the resilience and security of your workload.
Drawing on a real-life project from the HR industry, the various challenges will be demonstrated: data protection, self-healing, business continuity, security, and transparency of data processing. This systematized approach allowed to create a secure AWS cloud infrastructure that not only met strict compliance rules but also exceeded the client's expectations.
Into the Box Keynote Day 2: Unveiling amazing updates and announcements for modern CFML developers! Get ready for exciting releases and updates on Ortus tools and products. Stay tuned for cutting-edge innovations designed to boost your productivity.
A Comprehensive Look at Generative AI in Retail App Testing.pdfkalichargn70th171
Traditional software testing methods are being challenged in retail, where customer expectations and technological advancements continually shape the landscape. Enter generative AI—a transformative subset of artificial intelligence technologies poised to revolutionize software testing.
Accelerate Enterprise Software Engineering with PlatformlessWSO2
Key takeaways:
Challenges of building platforms and the benefits of platformless.
Key principles of platformless, including API-first, cloud-native middleware, platform engineering, and developer experience.
How Choreo enables the platformless experience.
How key concepts like application architecture, domain-driven design, zero trust, and cell-based architecture are inherently a part of Choreo.
Demo of an end-to-end app built and deployed on Choreo.
Check out the webinar slides to learn more about how XfilesPro transforms Salesforce document management by leveraging its world-class applications. For more details, please connect with sales@xfilespro.com
If you want to watch the on-demand webinar, please click here: https://www.xfilespro.com/webinars/salesforce-document-management-2-0-smarter-faster-better/
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...informapgpstrackings
Keep tabs on your field staff effortlessly with Informap Technology Centre LLC. Real-time tracking, task assignment, and smart features for efficient management. Request a live demo today!
For more details, visit us : https://informapuae.com/field-staff-tracking/
Modern design is crucial in today's digital environment, and this is especially true for SharePoint intranets. The design of these digital hubs is critical to user engagement and productivity enhancement. They are the cornerstone of internal collaboration and interaction within enterprises.
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamtakuyayamamoto1800
In this slide, we show the simulation example and the way to compile this solver.
In this solver, the Helmholtz equation can be solved by helmholtzFoam. Also, the Helmholtz equation with uniformly dispersed bubbles can be simulated by helmholtzBubbleFoam.
Why React Native as a Strategic Advantage for Startup Innovation.pdfayushiqss
Do you know that React Native is being increasingly adopted by startups as well as big companies in the mobile app development industry? Big names like Facebook, Instagram, and Pinterest have already integrated this robust open-source framework.
In fact, according to a report by Statista, the number of React Native developers has been steadily increasing over the years, reaching an estimated 1.9 million by the end of 2024. This means that the demand for this framework in the job market has been growing making it a valuable skill.
But what makes React Native so popular for mobile application development? It offers excellent cross-platform capabilities among other benefits. This way, with React Native, developers can write code once and run it on both iOS and Android devices thus saving time and resources leading to shorter development cycles hence faster time-to-market for your app.
Let’s take the example of a startup, which wanted to release their app on both iOS and Android at once. Through the use of React Native they managed to create an app and bring it into the market within a very short period. This helped them gain an advantage over their competitors because they had access to a large user base who were able to generate revenue quickly for them.
Why React Native as a Strategic Advantage for Startup Innovation.pdf
Informix REST API Tutorial
1. REST:
The Key to Driverless,
Unified Access
to JSON, Relational and
Spatio Temporal Data
Brian Hughes
May 2016Erika Von Bargen
vonbarg@us.ibm.com
2. Please Note:
• IBM’s statements regarding its plans, directions, and intent are subject to change or
withdrawal without notice at IBM’s sole discretion.
• Information regarding potential future products is intended to outline our general
product direction and it should not be relied on in making a purchasing decision.
• The information mentioned regarding potential future products is not a commitment,
promise, or legal obligation to deliver any material, code or functionality. Information
about potential future products may not be incorporated into any contract.
• The development, release, and timing of any future features or functionality
described for our products remains at our sole discretion.
• Performance is based on measurements and projections using standard IBM benchmarks
in a
• controlled environment. The actual throughput or performance that any user will
experience will vary depending upon many factors, including considerations such as the
amount of multiprogramming in the user’s job stream, the I/O configuration, the storage
configuration, and the workload processed. Therefore, no assurance can be given that an
individual user will achieve results similar to those stated here.
2
4. 4
Notices and Disclaimers (con’t)
Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources.
IBM has not tested those products in connection with this publication and cannot confirm the accuracy of performance, compatibility or any other claims
related to non-IBM products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products. IBM does not warrant
the quality of any third-party products, or the ability of any such third-party products to interoperate with IBM’s products. IBM expressly disclaims all
warranties, expressed or implied, including but not limited to, the implied warranties of merchantability and fitness for a particular purpose.
The provision of the information contained herein is not intended to, and does not, grant any right or license under any IBM patents, copyrights, trademarks or
other intellectual property right.
• IBM, the IBM logo, ibm.com, Aspera®, Bluemix, Blueworks Live, CICS, Clearcase, Cognos®, DB2® , DOORS®, Emptoris®, Enterprise Document
Management System™, FASP®, FileNet®, Global Business Services ®, Global Technology Services ®, IBM ExperienceOne™, IBM SmartCloud®, IBM
Social Business®, IMS™, Information on Demand, ILOG, Maximo®, MQIntegrator®, MQSeries®, Netcool®, OMEGAMON, OpenPower, PureAnalytics™,
PureApplication®, pureCluster™, PureCoverage®, PureData®, PureExperience®, PureFlex®, pureQuery®, pureScale®, PureSystems®, QRadar®,
Rational®, Rhapsody®, Smarter Commerce®, SoDA, SPSS, Sterling Commerce®, StoredIQ, Tealeaf®, Tivoli®, Trusteer®, Unica®, urban{code}®, Watson,
WebSphere®, Worklight®, X-Force® and System z® Z/OS, are trademarks of International Business Machines Corporation, registered in many jurisdictions
worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at
"Copyright and trademark information" at: www.ibm.com/legal/copytrade.shtml.
4
5. Agenda
• Data access challenges
• High Level Solution
• What is REST?
• Why REST?
• REST with Infomix
• New Features for REST
– Stored procedure calls
– Compression
– XML,BSON support
5
7. Data Access Challenges
• Databases born before the rise of Internet service APIs
require a three-tier architecture to access
• Client → Application Server → Database
• Three-tier architecture solutions typically use different
languages at each layer
• JavaScript → PHP/Node.js → SQL/SPL
• Using different languages at each layer:
• Complicates development, debugging, deployment, & maintenance
• Developer skills, libraries, and tools are duplicated at each layer
• This results in a higher initial cost, lengthened time to
market, and increased long term costs.
7
8. Data Access Challenges
• Client access to the database is generally through a proprietary,
vendor-supplied driver.
• New web application development frameworks and programming
languages regularly enter the market.
• Customer is dependent on the vendor to support new frameworks
and languages.
• Standard database APIs such as ODBC and JDBC along with bridges
help to mitigate this issue. However, bridges often expose only a
subset of the full capabilities of the client and database.
8
9. Data Access Challenges
• Timeseries/Geospatial/NoSQL structures
• REST is the WWW. The latest languages,
platforms, and frameworks support REST
(HTTP) on day one.
• JSON is ubiquitous on the Internet due to its
compact representation and expressive
structure.
9
10. Data Access Challenges
• Data is fragmented across many single-purpose silos:
– Service A for relational data, B for unstructured documents
(JSON/BSON), C for time series data, D for spatial data.
– The most compelling applications rely on integrating multiple types of
data.
– Asking questions that span multiple silos is difficult and time
consuming, both in terms of development and query processing.
• Different query languages and APIs for each type of database.
– Relational Data: SQL
– Unstructured Documents: NoSQL, MongoDB syntax, Xquery
– Time Series Data: Specialized time series query language
10
11. Summary of Challenges
• Rapidly evolving development landscape.
• Pressure to release quickly and frequently to
capitalize on opportunities.
• Applications that provide the highest value
rely on data that is stored in different silos.
11
13. High Level Solution
• Support all required data types out-of-the-box.
– Lowers time to market.
• Support SQL and NoSQL queries against required
data types.
– Lowers time to market. Simplifies access to legacy relational data.
Developers without SQL skills can be leveraged.
• Support client access using REST.
– Solution meets customers where they are, rather than forcing them to rely
on the vendor.
13
17. What is REST?
• REpresentational State Transfer
• A W3C Standard for data access as HTTP/1.1 and
URI (vs URL)
• The World Wide Web is a REST service
• REST is a style of design.
– It is not a technology.
– It is not a protocol.
17
18. Basic HTTP Methods
• Four basic methods
– GET
A request to retrieve data. Idempotent.
– POST
A request to create a new resource.
– PUT
A request to update/modify the resource referred to by the URI.
– DELETE
A request to delete the resource referred to by the URI.
• This solution does not make use of other HTTP
methods at this time.
18
19. REST != SOAP
• Both REST and SOAP can be used with HTTP as the protocol.
• With REST
– The components of the URI refer to objects, often in a hierarchy.
– The HTTP method specifies the action to perform on the object.
– Example URIs: /customer/device, /database/table
– Most or all HTTP methods apply to any URL in the model.
• With SOAP
– The components of the URL often refer to application-specific operations that supplant the
HTTP operations. The URL is the API to a class.
– The HTTP method is almost an afterthought.
– Example URLs: /device/getDeviceIds, /device/createDevice
– /device is the class, createDevice is clearly a method
– Running the DELETE method on /device/createDevice would be meaningless/ambiguous.
– //en.wikipedia.org/wiki/Representational_state_transfer
19
20. Why REST?
• REST is ubiquitous. 70% of APIs are
RESTful.
• Nearly every programming language,
operating system, and device is capable
of using REST (HTTP).
http://blog.programmableweb.com/2013/09/23/programmablewebs-directory-hits-10000-apis-and-counting
20
21. RESTful Data Access
• URL Structure
– http://<host>[:port]/<db>/<collection>
• 'http' is the name of the scheme, often called the protocol
• host is the domain/host name but can also be a literal IP address
• port is the optional port number
• db, the first component of the resource path, is the db/database name
• collection, the second component of the resource path, is the collection/table name
• The model presented by the REST API is:
– A host contains zero or more dbs (databases).
– A db contains zero or more collections (tables).
– The terms db and collection refer to the MongoDB representations. The terms database and
table refer to the Informix representation. Due to character restrictions, the database name
may be similar but not identical to the db name in some situations.
21
24. DB Management
• Four basic operations:
– List all databases
– Create a database
– Delete a database
– Delete all databases
25
25. List All DBs
• Method: GET /
• Response: A JSON array of strings, where each
string is the name of a database
• Example Response:
• [ "stores_demo" , "test" ]
26
26. Create a DB
• Method: POST /
• POST Data: A JSON document that specifies details about the db to be created. At
a minimum, this document must include the field name' to specify the name of
the db. For example:
• {name: "mydb"}
• {name: "mydb" , locale: "en_us.utf8", dbspace: "dbspace0"}
• Response: A JSON document describing the status of the request.
• Example Response:
• {msg:"created database mydb", ok: true}
• Explicit creation of a db is not necessary. If a request for a db that does not exist is
made, it will automatically be created using default values. This was done to
simplify programming.
27
27. Collection Management
• Three basic operations:
– List all collections
– Create a collection (explicitly)
– Delete a collection
• Delete all collections
– To delete all collections, drop the database
28
28. List All Collections
• Method: GET /<db>
• Response: A JSON array of strings, where each
string is the name of a collection in the db.
• Example Request:
• GET /demo
• Example Response:
• [“users",“inventory"]
29
29. Create a Collection
• Method: POST /<db>
• POST Data: A JSON document that describes the collection (table) to be
created. At a minimum this document must contain the field 'name',
which is the collection's name.
• Example Request:
POST /demo
{name:"bar"}
• Example Response:
{"msg":"created collection demo.bar","ok":true}
• Explicit creation of a collection is not necessary. If a request for a
collection that does not exist is made, it will automatically be created
using reasonable default values. This was done to simplify programming.
30
30. Delete a Collection
• Method: DELETE /<db>/<collection>
• Response: A JSON document describing the
namespace that was dropped and the status.
• Example Request: DELETE /demo/bar
• Example Response:
{"msg":"dropped
collection","ns":"demo.bar","ok":
true}
31
31. Query Example
• Get all documents from the namespace test.people (db=test, collection=people)
GET /test/people
• Example Result
[{"_id":{"$oid":"533501be27784337861702c5"},"name":"lance"},
{"_id":{"$oid":"533501c227784337861702c6"},"name":"brian"},
{"_id":{"$oid":"533501c627784337861702c7"},"name":"erika"}]
• The result is a JSON array of documents.
• In this example, each document has two fields: _id and name
• The _id has a value of a complex type ObjectId, which is transmitted as a sub-
document with the field $oid
• The name field has a simple JSON string as the value
32
32. Query Example
• Query with condition:
– Get all documents from the namespace test.users (db=test, collection=users)
whose age > 30.
– Also sort the results by age and filter the fields in the response
GET /test/users?query={age:{$gt:30}}&sort={age:1}
&fields:{firstName:1, age:1, _id:0}
• Example Result
[{"firstName":"Sherry","age":31},
{"firstName":"John","age":31},
{"firstName":"Bob","age":47},
{"firstName":"Larry","age":49}]
?sort={age:1}&fields={_id:0,lastName:0}
33
33. Insert Example
• Insert a single document
– POST to collection namespace, providing your JSON document to insert in the
data of the HTTP request
POST /test/users
Data:
{firstName:"John",lastName:"Doe",age:31}
Response:
{"n":1, "ok":true}
• To insert multiple documents:
– POST to collection namespace, providing a array of JSON documents to insert
in the data of the HTTP request. The response will indicate the number of
documents inserted: {"n":4, "ok":true}
?sort={age:1}&fields={_id:0,lastName:0}
34
34. Update Example
• Update a document
– Send a PUT to a collection namespace, providing your
query condition in the URL and the update operation
in the data of the HTTP request
PUT /test/users?query={firstName:“Larry”}
Data:
{"$set": {age : 25}}
Response:
{"n":1, "ok":true}
?sort={age:1}&fields={_id:0,lastName:0}
35
35. Delete Example
• Delete a document
– Send a DELETE request to a collection namespace,
providing your query condition in the URL
DELETE /test/users?query={name:“Larry”}
Response:
{"n":1, "ok":true}
?sort={age:1}&fields={_id:0,lastName:0}
36
36. HTTP Query Parameters
• HTTP supports parameters in the URL
• Parameters start after the '?' symbol and are are key=value pairs delimited by the
'&' symbol
• Example:
GET /demo/people?a=b&c=d
• Basic HTTP Query Parameters
– query
– fields
– sort
• Advanced HTTP Query Parameters
– limit
– skip
– batchSize , cursorId (uses HTTP request/response header)
37
37. Basic HTTP Query Parameters
• query
– The value assigned to this parameter should be a JSON document that defines the query to be
performed. The document uses the Mongo NoSQL syntax.
• fields
– The value assigned to this parameter should be a JSON document that specifies the fields to
include in the documents returned. This is the NoSQL (Mongo) equivalent of the SQL
projection clause. The fields of this document have values of 1 or 0 to indicate if the field
should be included in the result or not, respectively. For example, to include the field name
and exclude the field id, the document should be {_id:0,name:1}
• sort
– The value assigned to this parameter should be a JSON document that specifies the field(s) to
sort the result with. The fields of this document have values of 1 or -1 to indicate if the field
should be used to sort ascending or descending, respectively. For example to sort by age
descending and name descending: {age:1,name:-1}
38
38. Advanced HTTP Query Parameters
• limit
– The value assigned to this parameter should be a positive integer that
specifies the maximum number of documents to return.
• skip
– The value assigned to this parameter should be a positive integer that
specifies the number of documents to skip at the start of the result set
returned by the query.
• batchSize
– The value assigned to this parameter should be a positive integer that
specifies the maximum number of documents to return in each
request to page more data from a cursor.
39
39. Paging Data
• The REST API supports the use of cursors to page data in small chunks
from the server to the client.
• By paging data in smaller chunks, the processor, memory and network
resource utilization of a query for a large number of rows can be reduced.
• A cursor is created to help page data from the server to a client in the
following scenarios:
• The number of rows in the response is greater than the batch size
specified by the user when performing the query
• The number of rows in the response is greater than the maximum number
of rows in a response specified in the listener configuration
• The size in bytes of the response is larger than the maximum response size
specified in the listener configuration
40
40. Paging Data
• When a cursor is available, an additional header is present in the HTTP response to a query.
• The name of the header is 'cursorId'
• To get more data from the cursor, send a GET request that includes the cursorId from the response
in the request headers.
• As long as the cursorId header is present in responses to get more data from a cursor, additional
requests to retrieve more data from the cursor can be sent.
• When the cursorId is no longer present in the response, there is no more data available.
• The value of the cursor ID is of type long.
• This feature is particularly useful with frameworks such as dojo and jquery that support
asynchronous data sources.
• The ability to repeatedly return to the same session using cookies is critical to the operation of
cursors. A cursor is owned by a session. Cursors cannot be shared betweens sessions.
41
41. Command Example
• You can also use the REST API to run commands
– Run a GET request against the pseudo “$cmd” collection in your database and
specify the command document as the query condition in the URL.
– Command documents are based on the Mongo DB command syntax
• Example: Get the collection statistics about the “users” collection.
GET /test/$cmd?query={collStats:“users”}
Response:
[{"ns":“store_demo.users", "count":1000,
"size":322065, "avgObjSize":322,
"storageSize":323584, "numExtents":158,
"nindexes":1, "lastExtentSize":2048,
"paddingFactor":0, "flags":1,
"indexSizes":{"_id_":49152},
"totalIndexSize":49152, "ok":1}]
42
42. • You are able to do transaction work through the REST API by using the
transaction commands.
• To enable transactions for your session
GET /test/$cmd?query={transaction:“enable”}
– This binds your session id to a specific JDBC connection that will be kept exclusively for your
session until you disable transactions in your session. The REST listener will maintain your
session binding for you based on a cookie.
– Any operations that you run – POST, PUT, DELETE – will be in considered as a single transaction
until you run a REST request to commit or rollback the transaction.
• To commit a transaction
GET /test/$cmd?query={transaction:“commit”}
• To rollback a transaction
GET /test/$cmd?query={transaction:“rollback”}
• To disable transaction for your session
GET /test/$cmd?query={transaction:“disable”}
Transaction Example
43
43. Unified Data Access
• Objective: Provide unified access to the following
types of data:
– Relational Tables
– BSON Document Collections
– Time Series data
– Spatial Data
• The flexibility of JSON enables us to represent all
of the above as a JSON document collection.
44
44. Document Collection Access
• JSON documents are transformed into a BSON
representation and are stored in a column of a
relational table.
• Document collections accessed through the REST API
have the same capabilities as those accessed through
the MongoDB API.
• Indexes can be created on fields of the JSON/BSON
document using Informix functional indexes.
45
45. Relational Data Access
• The columns of a relational table are mapped to the fields of a JSON
document.
• MongoDB API calls can be run on relational tables as though the tables
were document collections. For example, the same call to create an index
on a field of a document would create an index on a column of the same
name.
• All basic operations available with document collections (insert, update,
delete, query) can be used without modification against a relational table.
– Story: We had a user, who was using a collection, create a relational table that had the same name as the
collection and had columns with corresponding data types and names as the fields in the document. The
application worked without modification.
• Informix row types are represented as sub-documents.
46
46. Timeseries Data Access
• Informix time series data is stored in a way that is
similar to a column-store database.
• The present strategy is to use the Informix Virtual
Table Interface (VTI) to make the TimeSeries data
appear to be a relational table.
• This virtual table can then be accessed by the
REST API.
47
47. Spatial Data Access
• Spatial data can be
inserted into a
document collection
using the GeoJSON
specification.
• Informix functional
indexes enable users
to efficiently query
spatial data.
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [125.6, 10.1]
},
"properties": {
"name": "Dinagat Islands" }
}
48
49. Stored Procedures via REST
• Coming in 12.10xC7
• New commands supported in both REST and MongoDB protocols
– “runProcedure”, “runFunction”
• Takes in the procedure name and an array of arguments
• Always returns a response for success/failure
– { “ok” : 1.0 } for success
• Can return data from the procedure
– Stored in JSON as “returnValue”
– Can include one or more rows/columns
50
50. Stored Procedures via REST
Call procedure with arguments and no return value:
GET http://localhost:27018/spdb/$cmd?query={"runProcedure":"increase_price",
"arguments":[101, 10]}
Response: [{"ok":1.0}]
Call function that returns a single value:
GET http://localhost:27018/spdb/$cmd?query={"runFunction":"add_values",
"arguments":[3,6]}
Response: [{"returnValue":9,"ok":1.0}]
Call procedure that returns multiple row (using WITH RESUME):
GET http://localhost:27018/spdb/$cmd?query={runProcedure:"colors_list"}
Response:
[{"returnValue":[{"color":"Red","hex":"FF0000"},{"color":"Blue","hex":"0000A0"},{"color":"White",
"hex":"FFFFFF"}],"ok":1.0}]
51
51. Compression in REST
• Wire Listener now supports compression HTTP
Headers
– deflate, gzip as encoding types
– Can get 50% or better compression on JSON
objects
52
52. Compression HTTP Headers
• Accept-Encoding
– Sent by the client
– Tells server what encoding it can accept
• Accept
– Defines what types of content the client is able to accept
• Content-Encoding
– Sent back by the server
– Tells client what encoding the message is encoded with
• Content-Type
– Defines what the type of content the client is sending the server
53
53. Data Conversion in REST
• Wire Listener supports additional options
from JSON for sending/receiving data
– XML, BSON
• BSON can be used for smaller data transfers
– Content-Type: application/bson
• Avoids JSON/BSON conversion in Wire Listener
54
54. XML Data in REST
• Content-Type: application/xml
• Accept: application/xml
• Example: { a: [ {b:adam} , {c:25} ] }
55
56. Final Thoughts
• The fusion of:
– JSON documents
– Schema-free document collections
– NoSQL query syntax
– Unified data manipulation language
– RESTful API
• Enables Informix to provide a hybrid database solution that
is uniquely capable of simplifying application development,
reducing the time to market, and increasing the
opportunity to create compelling applications.
57